Skip to content

Latest commit

 

History

History
119 lines (106 loc) · 8.2 KB

test_configuration.rst

File metadata and controls

119 lines (106 loc) · 8.2 KB

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.