blob: 9cd85a5e40cee85ee48c387767388f6a625ac668 [file] [log] [blame]
#-------------------------------------------------------------------------------
# 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