1.. _test_configuration: 2 3################### 4Tests configuration 5################### 6 7Regression tests 8================ 9 10Regression test configuration is controlled entirely by ``TEST_NS`` or 11``TEST_S`` or single test suite configuration. The group test 12configurations and single test suite configurations are listed below, all of 13them are disabled by default. 14 15+---------------------+--------------------------------------------------------------------+ 16| Parameter | Description | 17+=====================+====================================================================+ 18| TEST_NS_ATTESTATION | Build non-secure regression Attestation tests. | 19+---------------------+--------------------------------------------------------------------+ 20| TEST_NS_T_COSE | Build non-secure regression t_cose tests. | 21+---------------------+--------------------------------------------------------------------+ 22| TEST_NS_QCBOR | Build non-secure regression QCBOR tests. | 23+---------------------+--------------------------------------------------------------------+ 24| TEST_NS_CRYPTO | Build non-secure regression Crypto tests. | 25+---------------------+--------------------------------------------------------------------+ 26| TEST_NS_ITS | Build non-secure regression ITS tests. | 27+---------------------+--------------------------------------------------------------------+ 28| TEST_NS_PS | Build non-secure regression PS tests. | 29+---------------------+--------------------------------------------------------------------+ 30| TEST_NS_PLATFORM | Build non-secure regression Platform tests. | 31+---------------------+--------------------------------------------------------------------+ 32| TEST_NS_FWU | Build non-secure regression FWU tests. | 33+---------------------+--------------------------------------------------------------------+ 34| TEST_NS_IPC | Build non-secure regression IPC tests. | 35+---------------------+--------------------------------------------------------------------+ 36| TEST_NS_SLIH_IRQ | Build non-secure regression Second-Level Interrupt Handling tests. | 37+---------------------+--------------------------------------------------------------------+ 38| TEST_NS_FLIH_IRQ | Build non-secure regression First-Level Interrupt Handling tests. | 39+---------------------+--------------------------------------------------------------------+ 40| TEST_NS_MULTI_CORE | Build non-secure regression multi-core tests. | 41+---------------------+--------------------------------------------------------------------+ 42| TEST_S_ATTESTATION | Build secure regression Attestation tests. | 43+---------------------+--------------------------------------------------------------------+ 44| TEST_S_CRYPTO | Build secure regression Crypto tests. | 45+---------------------+--------------------------------------------------------------------+ 46| TEST_S_ITS | Build secure regression ITS tests. | 47+---------------------+--------------------------------------------------------------------+ 48| TEST_S_PS | Build secure regression PS tests. | 49+---------------------+--------------------------------------------------------------------+ 50| TEST_S_PLATFORM | Build secure regression Platform tests. | 51+---------------------+--------------------------------------------------------------------+ 52| TEST_S_FWU | Build secure regression FWU tests. | 53+---------------------+--------------------------------------------------------------------+ 54| TEST_S_IPC | Build secure regression IPC tests. | 55+---------------------+--------------------------------------------------------------------+ 56 57Individual test suites can be enabled when their dependencies like partitions or 58other specific configurations are set. On the one hand, some test suites depend 59on other test suites. On the other hand, some test suites conflict with 60other test suites. Test configurations and dependencies will be 61checked in ``${TFM_TEST_REPO_PATH}/test/config/check_config.cmake``. 62 63If regression testing is enabled by ``TEST_NS`` or ``TEST_S``, individual 64test suites will be enabled or disabled as appropriate for the TF-M 65configuration (i.e. all enabled secure partitions will be tested). 66 67Some cryptographic tests can be enabled and disabled. This is done to prevent 68false failures from being reported when a smaller Mbed Crypto config is being 69used which does not support all features. 70 71+---------------------------------------+---------------------------------------+---------------+ 72| Parameter | Description | Default value | 73+=======================================+=======================================+===============+ 74| TFM_CRYPTO_TEST_ALG_CBC | Test CBC cryptography mode | ON | 75+---------------------------------------+---------------------------------------+---------------+ 76| TFM_CRYPTO_TEST_ALG_CCM | Test CCM cryptography mode | ON | 77+---------------------------------------+---------------------------------------+---------------+ 78| TFM_CRYPTO_TEST_ALG_CFB | Test CFB cryptography mode | ON | 79+---------------------------------------+---------------------------------------+---------------+ 80| TFM_CRYPTO_TEST_ALG_ECB | Test ECB cryptography mode | ON | 81+---------------------------------------+---------------------------------------+---------------+ 82| TFM_CRYPTO_TEST_ALG_CTR | Test CTR cryptography mode | ON | 83+---------------------------------------+---------------------------------------+---------------+ 84| TFM_CRYPTO_TEST_ALG_OFB | Test OFB cryptography mode | ON | 85+---------------------------------------+---------------------------------------+---------------+ 86| TFM_CRYPTO_TEST_ALG_GCM | Test GCM cryptography mode | ON | 87+---------------------------------------+---------------------------------------+---------------+ 88| TFM_CRYPTO_TEST_ALG_SHA_384 | Test SHA-384 cryptography algorithm | ON | 89+---------------------------------------+---------------------------------------+---------------+ 90| TFM_CRYPTO_TEST_ALG_SHA_512 | Test SHA-512 cryptography algorithm | ON | 91+---------------------------------------+---------------------------------------+---------------+ 92| TFM_CRYPTO_TEST_HKDF | Test HKDF key derivation algorithm | ON | 93+---------------------------------------+---------------------------------------+---------------+ 94| TFM_CRYPTO_TEST_ECDH | Test ECDH key agreement algorithm | ON | 95+---------------------------------------+---------------------------------------+---------------+ 96| TFM_CRYPTO_TEST_CHACHA20 | Test ChaCha20 stream cipher | ON | 97+---------------------------------------+---------------------------------------+---------------+ 98| TFM_CRYPTO_TEST_ALG_CHACHA20_POLY1305 | Test ChaCha20-Poly1305 AEAD algorithm | ON | 99+---------------------------------------+---------------------------------------+---------------+ 100 101PSA tests 102========= 103 104PSA tests are configured by using the ``TEST_PSA_API`` cmake variable. The 105variable should be set to the name of the test suite that is desired. It is 106_not_ supported to set both ``TEST_PSA_API`` and ``TEST_S`` or ``TEST_NS``. 107 108The Functional API tests are: 109 - ``CRYPTO`` 110 - ``INITIAL_ATTESTATION`` 111 - ``STORAGE`` (INTERNAL_TRUSTED_STORAGE and PROTECTED_STORAGE) 112 - ``INTERNAL_TRUSTED_STORAGE`` 113 - ``PROTECTED_STORAGE`` 114 115The Firmware Framework test suites are: 116 - ``IPC`` 117 118Note that these map directly to the ``SUITE`` cmake variable used in the 119psa-arch-tests documentation. 120