Anton Komlev | 2cd9153 | 2022-11-17 13:36:55 +0000 | [diff] [blame] | 1 | .. _test_configuration: |
| 2 | |
| 3 | ################### |
| 4 | Tests configuration |
| 5 | ################### |
| 6 | |
| 7 | Regression tests |
| 8 | ================ |
| 9 | |
| 10 | Regression test configuration is controlled entirely by ``TEST_NS`` or |
| 11 | ``TEST_S`` or single test suite configuration. The group test |
| 12 | configurations and single test suite configurations are listed below, all of |
| 13 | them 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 | |
| 57 | Individual test suites can be enabled when their dependencies like partitions or |
| 58 | other specific configurations are set. On the one hand, some test suites depend |
| 59 | on other test suites. On the other hand, some test suites conflict with |
| 60 | other test suites. Test configurations and dependencies will be |
| 61 | checked in ``${TFM_TEST_REPO_PATH}/test/config/check_config.cmake``. |
| 62 | |
| 63 | If regression testing is enabled by ``TEST_NS`` or ``TEST_S``, individual |
| 64 | test suites will be enabled or disabled as appropriate for the TF-M |
| 65 | configuration (i.e. all enabled secure partitions will be tested). |
| 66 | |
| 67 | Some cryptographic tests can be enabled and disabled. This is done to prevent |
| 68 | false failures from being reported when a smaller Mbed Crypto config is being |
| 69 | used 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 | |
| 101 | PSA tests |
| 102 | ========= |
| 103 | |
| 104 | PSA tests are configured by using the ``TEST_PSA_API`` cmake variable. The |
| 105 | variable 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 | |
| 108 | The 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 | |
| 115 | The Firmware Framework test suites are: |
| 116 | - ``IPC`` |
Anton Komlev | 2cd9153 | 2022-11-17 13:36:55 +0000 | [diff] [blame] | 117 | |
| 118 | Note that these map directly to the ``SUITE`` cmake variable used in the |
| 119 | psa-arch-tests documentation. |