blob: f492593f57de32590b34318ebc6c585ac67cb264 [file] [log] [blame]
David Hu6318d212021-08-23 18:07:57 +08001#-------------------------------------------------------------------------------
Feder Liang7abe9a42021-12-03 17:54:58 +08002# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
David Hu6318d212021-08-23 18:07:57 +08003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8########################## TEST SYNC ###########################################
9
Mark Horvath2f072582022-09-09 16:15:30 +020010if ((NOT TFM_PARTITION_PROTECTED_STORAGE))
David Hu6318d212021-08-23 18:07:57 +080011 set(TEST_NS_PS OFF CACHE BOOL "Whether to build NS regression PS tests")
12 set(TEST_S_PS OFF CACHE BOOL "Whether to build S regression PS tests")
13endif()
14
Mark Horvath2f072582022-09-09 16:15:30 +020015if (NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
David Hu6318d212021-08-23 18:07:57 +080016 set(TEST_NS_ITS OFF CACHE BOOL "Whether to build NS regression ITS tests")
17 set(TEST_S_ITS OFF CACHE BOOL "Whether to build S regression ITS tests")
18
19 # TEST_NS_PS relies on TEST_NS_ITS
20 set(TEST_NS_PS OFF CACHE BOOL "Whether to build NS regression PS tests")
21endif()
22
Mark Horvath2f072582022-09-09 16:15:30 +020023if (NOT TFM_PARTITION_CRYPTO)
David Hu6318d212021-08-23 18:07:57 +080024 set(TEST_NS_CRYPTO OFF CACHE BOOL "Whether to build NS regression Crypto tests")
25 set(TEST_S_CRYPTO OFF CACHE BOOL "Whether to build S regression Crypto tests")
26endif()
27
Mark Horvath2f072582022-09-09 16:15:30 +020028if (NOT TFM_PARTITION_INITIAL_ATTESTATION)
David Hu6318d212021-08-23 18:07:57 +080029 set(TEST_NS_ATTESTATION OFF CACHE BOOL "Whether to build NS regression Attestation tests")
30 set(TEST_S_ATTESTATION OFF CACHE BOOL "Whether to build S regression Attestation tests")
31 set(TEST_NS_QCBOR OFF CACHE BOOL "Whether to build NS regression QCBOR tests")
32 set(TEST_NS_T_COSE OFF CACHE BOOL "Whether to build NS regression t_cose tests")
33endif()
34
35if (SYMMETRIC_INITIAL_ATTESTATION)
36 set(TEST_NS_T_COSE OFF CACHE BOOL "Whether to build NS regression t_cose tests")
37endif()
38
Mark Horvath2f072582022-09-09 16:15:30 +020039if (NOT TFM_PARTITION_PLATFORM)
David Hu6318d212021-08-23 18:07:57 +080040 set(TEST_NS_PLATFORM OFF CACHE BOOL "Whether to build NS regression Platform tests")
41 set(TEST_S_PLATFORM OFF CACHE BOOL "Whether to build S regression Platform tests")
42endif()
43
44if (NOT TFM_PARTITION_FIRMWARE_UPDATE)
45 set(TEST_NS_FWU OFF CACHE BOOL "Whether to build NS regression FWU tests")
46 set(TEST_S_FWU OFF CACHE BOOL "Whether to build S regression FWU tests")
47endif()
48
David Hu6318d212021-08-23 18:07:57 +080049if (NOT TFM_MULTI_CORE_TOPOLOGY)
50 set(TEST_NS_MULTI_CORE OFF CACHE BOOL "Whether to build NS regression multi-core tests")
51endif()
52
Xinyu Zhang92fe7582021-09-24 17:11:49 +080053if (NOT TFM_NS_MANAGE_NSID)
54 set(TEST_NS_MANAGE_NSID OFF CACHE BOOL "Whether to build NS regression NSID management tests")
55endif()
56
Gabor Toth608e92f2022-09-06 12:41:41 +020057if (CONFIG_TFM_FLOAT_ABI STREQUAL "soft")
Feder Liang7abe9a42021-12-03 17:54:58 +080058 set(TEST_S_FPU OFF CACHE BOOL "Whether to build S regression FPU tests")
59 set(TEST_NS_FPU OFF CACHE BOOL "Whether to build NS regression FPU tests")
Feder Liangdb53c6b2021-09-07 15:42:09 +080060endif()
61
David Hu6318d212021-08-23 18:07:57 +080062########################## Test framework sync #################################
63
64get_cmake_property(CACHE_VARS CACHE_VARIABLES)
David Hucf299b12021-09-12 16:41:48 +080065
66if (NS)
67 # Force TEST_FRAMEWORK_NS ON if single NS test ON
68 foreach(CACHE_VAR ${CACHE_VARS})
69 string(REGEX MATCH "^TEST_NS_.*" _NS_TEST_FOUND "${CACHE_VAR}")
70 if (_NS_TEST_FOUND AND "${${CACHE_VAR}}")
71 set(TEST_FRAMEWORK_NS ON CACHE BOOL "Whether to build NS regression tests framework")
72 break()
73 endif()
74 endforeach()
75endif()
David Hu6318d212021-08-23 18:07:57 +080076
77# Force TEST_FRAMEWORK_S ON if single S test ON
78foreach(CACHE_VAR ${CACHE_VARS})
79 string(REGEX MATCH "^TEST_S_.*" _S_TEST_FOUND "${CACHE_VAR}")
80 if (_S_TEST_FOUND AND "${${CACHE_VAR}}")
81 set(TEST_FRAMEWORK_S ON CACHE BOOL "Whether to build S regression tests framework")
82 break()
83 endif()
84endforeach()
85
Jianliang Shen2959c1f2021-09-01 10:14:06 +080086########################## Extra test suites ###################################
87
88if (EXTRA_NS_TEST_SUITES_PATHS)
89 set(TEST_FRAMEWORK_NS ON CACHE BOOL "Whether to build NS regression tests framework")
90endif()
91
92if (EXTRA_S_TEST_SUITES_PATHS)
93 set(TEST_FRAMEWORK_S ON CACHE BOOL "Whether to build S regression tests framework")
94endif()
95
shejia012feb8e92021-06-30 19:41:26 +080096########################## Test profile ########################################
97
98if (TFM_PROFILE)
99 include(${TFM_TEST_PATH}/config/profile/${TFM_PROFILE}_test.cmake)
100endif()
101
David Hud1cba502021-11-23 14:55:15 +0800102########################## SLIH/FLIH IRQ Test ##################################
103
104# Make FLIH IRQ test as the default IRQ test
Summer Qind13f55b2022-10-09 11:29:57 +0800105if (PLATFORM_FLIH_IRQ_TEST_SUPPORT
David Hud1cba502021-11-23 14:55:15 +0800106 AND TEST_NS AND NOT TEST_NS_SLIH_IRQ)
107 set(TEST_NS_FLIH_IRQ ON CACHE BOOL "Whether to build NS regression First-Level Interrupt Handling tests")
108endif()
109
Summer Qind13f55b2022-10-09 11:29:57 +0800110if (PLATFORM_SLIH_IRQ_TEST_SUPPORT
David Hud1cba502021-11-23 14:55:15 +0800111 AND TEST_NS AND NOT TEST_NS_FLIH_IRQ)
112 set(TEST_NS_SLIH_IRQ ON CACHE BOOL "Whether to build NS regression Second-Level Interrupt Handling tests")
113endif()
114
Kevin Pengf828d5a2022-03-09 15:35:12 +0800115############################ IPC backend test ##################################
116if (CONFIG_TFM_SPM_BACKEND_IPC AND TEST_NS)
117 set(TEST_NS_IPC ON CACHE BOOL "Whether to build NS regression SFN backend tests")
118endif()
119
120if (CONFIG_TFM_SPM_BACKEND_IPC AND TEST_S)
121 set(TEST_S_IPC ON CACHE BOOL "Whether to build NS regression SFN backend tests")
122endif()
123
David Hu0a880d32022-02-23 17:08:12 +0800124############################ SFN backend test ##################################
125
126if (CONFIG_TFM_SPM_BACKEND_SFN AND TEST_NS)
127 set(TEST_NS_SFN_BACKEND ON CACHE BOOL "Whether to build NS regression SFN backend tests")
128endif()
129
Kevin Penge85c6a82022-03-03 17:12:27 +0800130if (CONFIG_TFM_SPM_BACKEND_SFN AND TEST_S)
131 set(TEST_S_SFN_BACKEND ON CACHE BOOL "Whether to build S regression SFN backend tests")
132endif()
133
David Hu6318d212021-08-23 18:07:57 +0800134########################## Load default config #################################
135
136if (TEST_S)
137 include(${TFM_TEST_PATH}/config/default_s_test_config.cmake)
138endif()
139if (TEST_NS)
David Hucf299b12021-09-12 16:41:48 +0800140 if (NOT NS)
141 # In this case, TEST_NS is used to configure corresponding test secure
142 # services during SPE build alone.
143 # Disable TEST_FRAMEWORK_NS if NS is OFF as NS test framework shall
144 # run inside NS environment
145 set(TEST_FRAMEWORK_NS OFF CACHE BOOL "Whether to build NS regression tests framework")
146 endif()
David Hu6318d212021-08-23 18:07:57 +0800147 include(${TFM_TEST_PATH}/config/default_ns_test_config.cmake)
148endif()
149
Kevin Pengac815872021-10-25 17:59:59 +0800150###################### Test Partition configurations ###########################
151if (TEST_NS_IPC OR TEST_S_IPC)
152 set(TFM_PARTITION_IPC_TEST ON)
153else()
154 set(TFM_PARTITION_IPC_TEST OFF)
155endif()
156
Kevin Penge85c6a82022-03-03 17:12:27 +0800157if (TEST_NS_SFN_BACKEND OR TEST_S_SFN_BACKEND)
158 set(TFM_PARTITION_SFN_BACKEND_TEST ON)
159else()
160 set(TFM_PARTITION_SFN_BACKEND_TEST OFF)
161endif()
162
Feder Liang7abe9a42021-12-03 17:54:58 +0800163# Enable FPU test partition if S or NS FP test enabled
164if (TEST_S_FPU OR TEST_NS_FPU)
165 set(TEST_PARTITION_FPU_TEST ON)
166else()
167 set(TEST_PARTITION_FPU_TEST OFF)
168endif()
169
David Hu6318d212021-08-23 18:07:57 +0800170include(${TFM_TEST_PATH}/config/default_test_config.cmake)