| #------------------------------------------------------------------------------- |
| # Copyright (c) 2022-2023, Arm Limited. All rights reserved. |
| # |
| # SPDX-License-Identifier: BSD-3-Clause |
| # |
| #------------------------------------------------------------------------------- |
| |
| menu "TF-M regression tests" |
| |
| ################################# Bootloader test ############################## |
| |
| config TEST_BL1_1 |
| bool "BL1_1 tests" |
| default n |
| depends on BL1 |
| |
| config TEST_BL1_2 |
| bool "BL1_2 tests" |
| default n |
| depends on BL1 |
| |
| config TEST_BL2 |
| bool "BL2 tests" |
| default n |
| depends on BL2 |
| |
| ################################# Regression test ############################## |
| |
| config TFM_S_REG_TEST |
| bool |
| default y if EXTRA_S_TEST_SUITE_PATH != "" |
| default n |
| help |
| By default all secure regression tests are disabled. |
| If TEST_S or TEST_S_XXX flag is passed via command line |
| and set to ON, selected corresponding features to support |
| secure regression tests. |
| |
| TFM_S_REG_TEST is a TF-M internal cmake flag to manage building |
| tf-m-tests secure regression tests related source |
| |
| config TFM_NS_REG_TEST |
| bool |
| default y if EXTRA_NS_TEST_SUITE_PATH != "" |
| default n |
| help |
| By default all non-secure regression tests are disabled. |
| If TEST_NS or TEST_NS_XXX flag is passed via command line |
| and set to ON, selected corresponding features to support |
| non-secure regression tests. |
| |
| TFM_NS_REG_TEST is a TF-M internal cmake flag to manage building |
| tf-m-tests non-secure regression tests related source |
| |
| ################################# Test partition ############################### |
| |
| config TFM_PARTITION_IPC_TEST |
| def_bool n |
| |
| config TFM_PARTITION_SFN_BACKEND_TEST |
| def_bool n |
| |
| config TEST_PARTITION_FPU_TEST |
| def_bool n |
| |
| ################################# Main switch ################################## |
| |
| config TEST_S |
| bool "Enable default secure test cases" |
| default n |
| select TFM_S_REG_TEST |
| imply TEST_S_ATTESTATION |
| imply TEST_S_CRYPTO |
| imply TEST_S_ITS |
| imply TEST_S_PS |
| imply TEST_S_PLATFORM |
| imply TEST_S_FWU |
| imply TEST_S_IPC |
| imply TEST_S_SFN_BACKEND |
| |
| config TEST_NS |
| bool "Enable default non-secure test cases" |
| default n |
| select TFM_NS_REG_TEST |
| imply TEST_NS_ATTESTATION |
| imply TEST_NS_T_COSE |
| imply TEST_NS_QCBOR |
| imply TEST_NS_CRYPTO |
| imply TEST_NS_PS |
| imply TEST_NS_ITS |
| imply TEST_NS_PLATFORM |
| imply TEST_NS_FWU |
| imply TEST_NS_MULTI_CORE |
| imply TEST_NS_MANAGE_NSID |
| imply TEST_NS_IPC |
| imply TEST_NS_SFN_BACKEND |
| |
| ################################# Secure test ################################## |
| |
| menu "Secure regression tests" |
| |
| config TEST_S_ATTESTATION |
| bool "Attestation" |
| default n |
| imply TFM_PARTITION_INITIAL_ATTESTATION |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| select TFM_S_REG_TEST |
| |
| config TEST_S_CRYPTO |
| bool "Crypto" |
| default n |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| select TFM_S_REG_TEST |
| |
| config TEST_S_ITS |
| bool "ITS" |
| default n |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| select TFM_S_REG_TEST |
| |
| config TEST_S_PS |
| bool "PS" |
| default n |
| imply TFM_PARTITION_PROTECTED_STORAGE |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_PLATFORM |
| select TFM_S_REG_TEST |
| |
| config TEST_S_PLATFORM |
| bool "Platform" |
| default n |
| imply TFM_PARTITION_PLATFORM |
| select TFM_S_REG_TEST |
| |
| config TEST_S_FWU |
| bool "FWU" |
| depends on PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT |
| imply TFM_PARTITION_FIRMWARE_UPDATE |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_PLATFORM |
| select TFM_S_REG_TEST |
| |
| config TEST_S_IPC |
| bool "IPC" |
| depends on CONFIG_TFM_SPM_BACKEND_IPC |
| select TFM_S_REG_TEST |
| select TFM_PARTITION_IPC_TEST |
| |
| config TEST_S_SFN_BACKEND |
| bool "SFN backend" |
| depends on CONFIG_TFM_SPM_BACKEND_SFN |
| select TFM_S_REG_TEST |
| select TFM_PARTITION_SFN_BACKEND_TEST |
| |
| config TEST_S_FPU |
| bool "FPU" |
| depends on CONFIG_TFM_ENABLE_FP |
| select TFM_S_REG_TEST |
| select TEST_PARTITION_FPU_TEST |
| endmenu |
| |
| ################################# Non-secure test ############################## |
| |
| menu "Non-Secure regression tests" |
| |
| config TEST_NS_ATTESTATION |
| bool "Attestation" |
| default n |
| imply TFM_PARTITION_INITIAL_ATTESTATION |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_T_COSE |
| bool "t_cose" |
| default n |
| imply TFM_PARTITION_INITIAL_ATTESTATION |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_QCBOR |
| bool "QCBOR" |
| default n |
| imply TFM_PARTITION_INITIAL_ATTESTATION |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_CRYPTO |
| bool "Crypto" |
| default n |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_PS |
| bool "PS" |
| default n |
| imply TFM_PARTITION_PROTECTED_STORAGE |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_PLATFORM |
| imply TEST_NS_ITS |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_ITS |
| bool "ITS" |
| default n |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_PLATFORM |
| bool "Platform" |
| default n |
| imply TFM_PARTITION_PLATFORM |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_FWU |
| bool "FWU" |
| depends on PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT |
| imply TFM_PARTITION_FIRMWARE_UPDATE |
| imply TFM_PARTITION_CRYPTO |
| imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE |
| imply TFM_PARTITION_PLATFORM |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_MULTI_CORE |
| bool "Multi-core" |
| depends on TFM_MULTI_CORE_TOPOLOGY |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_MANAGE_NSID |
| bool "NSID management" |
| depends on TFM_NS_MANAGE_NSID |
| select TFM_NS_REG_TEST |
| |
| choice TEST_NS_IRQ |
| prompt "IRQ test type" |
| depends on PLATFORM_FLIH_IRQ_TEST_SUPPORT || PLATFORM_SLIH_IRQ_TEST_SUPPORT |
| optional |
| |
| config TEST_NS_FLIH_IRQ |
| bool "First-Level Interrupt Handling" |
| depends on PLATFORM_FLIH_IRQ_TEST_SUPPORT |
| select TFM_NS_REG_TEST |
| |
| config TEST_NS_SLIH_IRQ |
| bool "Second-Level Interrupt Handling" |
| depends on PLATFORM_SLIH_IRQ_TEST_SUPPORT |
| select TFM_NS_REG_TEST |
| |
| endchoice |
| |
| config TEST_NS_FPU |
| bool "FPU" |
| depends on CONFIG_TFM_ENABLE_FP |
| select TFM_NS_REG_TEST |
| select TEST_PARTITION_FPU_TEST |
| |
| config TEST_NS_IPC |
| bool "IPC" |
| depends on CONFIG_TFM_SPM_BACKEND_IPC |
| select TFM_NS_REG_TEST |
| select TFM_PARTITION_IPC_TEST |
| |
| config TEST_NS_SFN_BACKEND |
| bool "SFN backend" |
| depends on CONFIG_TFM_SPM_BACKEND_SFN |
| select TFM_NS_REG_TEST |
| select TFM_PARTITION_SFN_BACKEND_TEST |
| |
| endmenu |
| |
| ################################# Crypto tests ################################# |
| |
| menu "Crypto Test Configs" |
| visible if TEST_NS_CRYPTO || TEST_S_CRYPTO |
| |
| config TFM_CRYPTO_TEST_ALG_CBC |
| bool "Test CBC cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_CCM |
| bool "Test CCM cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_CFB |
| bool "Test CFB cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_ECB |
| bool "Test ECB cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_CTR |
| bool "Test CTR cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_OFB |
| bool "Test OFB cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_GCM |
| bool "Test GCM cryptography mode" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_SHA_384 |
| bool "Test SHA-384 cryptography algorithm" |
| default y |
| |
| config TFM_CRYPTO_TEST_ALG_SHA_512 |
| bool "Test SHA-512 cryptography algorithm" |
| default y |
| |
| config TFM_CRYPTO_TEST_HKDF |
| bool "Test the HKDF key derivation algorithm" |
| default y |
| |
| config TFM_CRYPTO_TEST_ECDH |
| bool "Test the ECDH key agreement algorithm" |
| default y |
| |
| config TFM_CRYPTO_TEST_CHACHA20 |
| bool "Test the ChaCha20 stream cipher" |
| default n |
| |
| config TFM_CRYPTO_TEST_ALG_CHACHA20_POLY1305 |
| bool "Test ChaCha20-Poly1305 AEAD algorithm" |
| default n |
| |
| config TFM_CRYPTO_TEST_ALG_RSASSA_PSS_VERIFICATION |
| bool "Test RSASSA-PSS signature verification algorithm" |
| default y |
| |
| config TFM_CRYPTO_TEST_SINGLE_PART_FUNCS |
| bool "Test single-part operations in hash, MAC, AEAD and symmetric ciphers" |
| default y |
| |
| endmenu |
| |
| ################################# FWU tests #################################### |
| |
| if TEST_NS_FWU || TEST_S_FWU |
| |
| menu "FWU Test Configs" |
| |
| config TFM_FWU_TEST_REQUEST_REBOOT |
| bool "Test psa_fwu_request_reboot" |
| default n |
| |
| config TFM_FWU_TEST_WRITE_WITH_NULL |
| bool "Test psa_fwu_write with data block NULL" |
| default n |
| |
| config TFM_FWU_TEST_QUERY_WITH_NULL |
| bool "Test psa_fwu_query with info NULL" |
| default n |
| |
| endmenu |
| endif |
| |
| ################################# Extra tests ################################## |
| |
| menu "Extra tests" |
| |
| config EXTRA_S_TEST_SUITE_PATH |
| string "Secure extra test suite" |
| default "" |
| help |
| An extra test suite folder contains source code, CMakeLists.txt and cmake |
| configuration file |
| |
| config EXTRA_NS_TEST_SUITE_PATH |
| string "Non-secure extra test suite" |
| default "" |
| help |
| An extra test suite folder contains source code, CMakeLists.txt and cmake |
| configuration file |
| |
| endmenu |
| |
| endmenu |