.. _test_configuration: ################### Tests configuration ################### Regression tests ================ Regression test configuration is controlled entirely by ``TEST_NS`` or ``TEST_S`` or single test suite configuration. The group test configurations and single test suite configurations are listed below, all of them are disabled by default. +---------------------+--------------------------------------------------------------------+ | Parameter | Description | +=====================+====================================================================+ | TEST_NS_ATTESTATION | Build non-secure regression Attestation tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_T_COSE | Build non-secure regression t_cose tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_QCBOR | Build non-secure regression QCBOR tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_CRYPTO | Build non-secure regression Crypto tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_ITS | Build non-secure regression ITS tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_PS | Build non-secure regression PS tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_PLATFORM | Build non-secure regression Platform tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_FWU | Build non-secure regression FWU tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_IPC | Build non-secure regression IPC tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_SLIH_IRQ | Build non-secure regression Second-Level Interrupt Handling tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_FLIH_IRQ | Build non-secure regression First-Level Interrupt Handling tests. | +---------------------+--------------------------------------------------------------------+ | TEST_NS_MULTI_CORE | Build non-secure regression multi-core tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_ATTESTATION | Build secure regression Attestation tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_CRYPTO | Build secure regression Crypto tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_ITS | Build secure regression ITS tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_PS | Build secure regression PS tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_PLATFORM | Build secure regression Platform tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_FWU | Build secure regression FWU tests. | +---------------------+--------------------------------------------------------------------+ | TEST_S_IPC | Build secure regression IPC tests. | +---------------------+--------------------------------------------------------------------+ Individual test suites can be enabled when their dependencies like partitions or other specific configurations are set. On the one hand, some test suites depend on other test suites. On the other hand, some test suites conflict with other test suites. Test configurations and dependencies will be checked in ``${TFM_TEST_REPO_PATH}/test/config/check_config.cmake``. If regression testing is enabled by ``TEST_NS`` or ``TEST_S``, individual test suites will be enabled or disabled as appropriate for the TF-M configuration (i.e. all enabled secure partitions will be tested). Some cryptographic tests can be enabled and disabled. This is done to prevent false failures from being reported when a smaller Mbed Crypto config is being used which does not support all features. +---------------------------------------+---------------------------------------+---------------+ | Parameter | Description | Default value | +=======================================+=======================================+===============+ | TFM_CRYPTO_TEST_ALG_CBC | Test CBC cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_CCM | Test CCM cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_CFB | Test CFB cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_ECB | Test ECB cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_CTR | Test CTR cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_OFB | Test OFB cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_GCM | Test GCM cryptography mode | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_SHA_384 | Test SHA-384 cryptography algorithm | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_SHA_512 | Test SHA-512 cryptography algorithm | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_HKDF | Test HKDF key derivation algorithm | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ECDH | Test ECDH key agreement algorithm | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_CHACHA20 | Test ChaCha20 stream cipher | ON | +---------------------------------------+---------------------------------------+---------------+ | TFM_CRYPTO_TEST_ALG_CHACHA20_POLY1305 | Test ChaCha20-Poly1305 AEAD algorithm | ON | +---------------------------------------+---------------------------------------+---------------+ PSA tests ========= PSA tests are configured by using the ``TEST_PSA_API`` cmake variable. The variable should be set to the name of the test suite that is desired. It is _not_ supported to set both ``TEST_PSA_API`` and ``TEST_S`` or ``TEST_NS``. The Functional API tests are: - ``CRYPTO`` - ``INITIAL_ATTESTATION`` - ``STORAGE`` (INTERNAL_TRUSTED_STORAGE and PROTECTED_STORAGE) - ``INTERNAL_TRUSTED_STORAGE`` - ``PROTECTED_STORAGE`` The Firmware Framework test suites are: - ``IPC`` Note that these map directly to the ``SUITE`` cmake variable used in the psa-arch-tests documentation.