#------------------------------------------------------------------------------- # 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 TEST_FRAMEWORK_S bool default y if EXTRA_S_TEST_SUITE_PATH != "" default n help Whether to build S regression tests framework config TEST_FRAMEWORK_NS bool depends on NS default y if EXTRA_NS_TEST_SUITE_PATH != "" default n help Whether to build NS regression tests framework 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 TEST_FRAMEWORK_S 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 imply TEST_FRAMEWORK_NS 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 TEST_FRAMEWORK_S select TFM_S_REG_TEST config TEST_S_CRYPTO bool "Crypto" default n imply TFM_PARTITION_CRYPTO imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE select TEST_FRAMEWORK_S select TFM_S_REG_TEST config TEST_S_ITS bool "ITS" default n imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE select TEST_FRAMEWORK_S 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 TEST_FRAMEWORK_S select TFM_S_REG_TEST config TEST_S_PLATFORM bool "Platform" default n imply TFM_PARTITION_PLATFORM select TEST_FRAMEWORK_S 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 TEST_FRAMEWORK_S select TFM_S_REG_TEST config TEST_S_IPC bool "IPC" depends on CONFIG_TFM_SPM_BACKEND_IPC select TEST_FRAMEWORK_S 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 TEST_FRAMEWORK_S select TFM_S_REG_TEST select TFM_PARTITION_SFN_BACKEND_TEST config TEST_S_FPU bool "FPU" depends on CONFIG_TFM_ENABLE_FP select TEST_FRAMEWORK_S 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 imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_CRYPTO bool "Crypto" default n imply TFM_PARTITION_CRYPTO imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_ITS bool "ITS" default n imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_PLATFORM bool "Platform" default n imply TFM_PARTITION_PLATFORM imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_MULTI_CORE bool "Multi-core" depends on TFM_MULTI_CORE_TOPOLOGY imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_MANAGE_NSID bool "NSID management" depends on TFM_NS_MANAGE_NSID imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST config TEST_NS_SLIH_IRQ bool "Second-Level Interrupt Handling" depends on PLATFORM_SLIH_IRQ_TEST_SUPPORT imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST endchoice config TEST_NS_FPU bool "FPU" depends on CONFIG_TFM_ENABLE_FP imply TEST_FRAMEWORK_NS select TFM_NS_REG_TEST select TEST_PARTITION_FPU_TEST config TEST_NS_IPC bool "IPC" depends on CONFIG_TFM_SPM_BACKEND_IPC imply TEST_FRAMEWORK_NS 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 imply TEST_FRAMEWORK_NS 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