Test: Get rid of secure test partitions if S tests are disabled
When secure regression tests are disabled, some secure tests
dedicated partitions are still enabled and built. Those partitions
are unnecessary and increase secure binary size.
Skip building and linking those partitions when TEST_S is not
selected.
Signed-off-by: David Hu <david.hu@arm.com>
Change-Id: Ie73401ae7c6454f8073400c7af15c8411c1dcdff
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 481ed1d..9499398 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -75,19 +75,21 @@
####################### Secure #################################################
-target_sources(tfm_s_tests
- INTERFACE
- ${CMAKE_CURRENT_SOURCE_DIR}/framework/secure_suites.c
-)
+if (TEST_S)
+ target_sources(tfm_s_tests
+ INTERFACE
+ ${CMAKE_CURRENT_SOURCE_DIR}/framework/secure_suites.c
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_framework
- tfm_partition_defs
- tfm_spm
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_framework
+ tfm_partition_defs
+ tfm_spm
+ )
-target_compile_definitions(tfm_s_tests
- INTERFACE
- $<$<BOOL:${PS_TEST_NV_COUNTERS}>:PS_TEST_NV_COUNTERS>
-)
+ target_compile_definitions(tfm_s_tests
+ INTERFACE
+ $<$<BOOL:${PS_TEST_NV_COUNTERS}>:PS_TEST_NV_COUNTERS>
+ )
+endif()
diff --git a/test/suites/attestation/CMakeLists.txt b/test/suites/attestation/CMakeLists.txt
index 2eca79a..1c8c3b2 100644
--- a/test/suites/attestation/CMakeLists.txt
+++ b/test/suites/attestation/CMakeLists.txt
@@ -58,42 +58,44 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_attestation_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/attest_public_key.c
- ${CMAKE_CURRENT_SOURCE_DIR}/attest_token_test.c
- ${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_common.c
- $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_symmetric.c>
- $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/attest_symmetric_s_interface_testsuite.c>
- $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_asymmetric.c>
- $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/secure/attest_asymmetric_s_interface_testsuite.c>
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_attestation_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/attest_public_key.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/attest_token_test.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_common.c
+ $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_symmetric.c>
+ $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/attest_symmetric_s_interface_testsuite.c>
+ $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/attest_token_decode_asymmetric.c>
+ $<$<NOT:$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>>:${CMAKE_CURRENT_SOURCE_DIR}/secure/attest_asymmetric_s_interface_testsuite.c>
+ )
-target_include_directories(tfm_test_suite_attestation_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
+ target_include_directories(tfm_test_suite_attestation_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ )
-target_compile_definitions(tfm_test_suite_attestation_s
- PRIVATE
- $<$<CONFIG:Debug>:INCLUDE_TEST_CODE>
- $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:SYMMETRIC_INITIAL_ATTESTATION>
-)
+ target_compile_definitions(tfm_test_suite_attestation_s
+ PRIVATE
+ $<$<CONFIG:Debug>:INCLUDE_TEST_CODE>
+ $<$<BOOL:${SYMMETRIC_INITIAL_ATTESTATION}>:SYMMETRIC_INITIAL_ATTESTATION>
+ )
-target_link_libraries(tfm_test_suite_attestation_s
- PRIVATE
- tfm_qcbor
- tfm_t_cose
- tfm_test_framework
- tfm_partition_attestation
- tfm_boot_status
- tfm_partition_crypto
- platform_s
-)
+ target_link_libraries(tfm_test_suite_attestation_s
+ PRIVATE
+ tfm_qcbor
+ tfm_t_cose
+ tfm_test_framework
+ tfm_partition_attestation
+ tfm_boot_status
+ tfm_partition_crypto
+ platform_s
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_attestation_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_attestation_s
+ )
+endif()
diff --git a/test/suites/audit/CMakeLists.txt b/test/suites/audit/CMakeLists.txt
index 35d5f3a..67e3578 100644
--- a/test/suites/audit/CMakeLists.txt
+++ b/test/suites/audit/CMakeLists.txt
@@ -48,23 +48,25 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_audit_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/audit_s_interface_testsuite.c
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_audit_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/audit_s_interface_testsuite.c
+ )
-target_include_directories(tfm_test_suite_audit_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
-)
+ target_include_directories(tfm_test_suite_audit_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ )
-target_link_libraries(tfm_test_suite_audit_s
- PRIVATE
- tfm_test_framework
- tfm_partition_audit
-)
+ target_link_libraries(tfm_test_suite_audit_s
+ PRIVATE
+ tfm_test_framework
+ tfm_partition_audit
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_audit_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_audit_s
+ )
+endif()
diff --git a/test/suites/crypto/CMakeLists.txt b/test/suites/crypto/CMakeLists.txt
index 953d5bf..ba9f102 100644
--- a/test/suites/crypto/CMakeLists.txt
+++ b/test/suites/crypto/CMakeLists.txt
@@ -50,38 +50,39 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_crypto_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/crypto_tests_common.c
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/crypto_sec_interface_testsuite.c
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_crypto_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/crypto_tests_common.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/crypto_sec_interface_testsuite.c
+ )
-target_include_directories(tfm_test_suite_crypto_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
-)
+ target_include_directories(tfm_test_suite_crypto_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ )
-target_link_libraries(tfm_test_suite_crypto_s
- PRIVATE
- tfm_secure_api
- tfm_test_framework
- tfm_partition_secure_client_2
- platform_s
-)
+ target_link_libraries(tfm_test_suite_crypto_s
+ PRIVATE
+ tfm_secure_api
+ tfm_test_framework
+ tfm_partition_secure_client_2
+ platform_s
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_crypto_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_crypto_s
+ )
-target_compile_definitions(tfm_test_suite_crypto_s
- PRIVATE
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CBC}>:TFM_CRYPTO_TEST_ALG_CBC>
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CCM}>:TFM_CRYPTO_TEST_ALG_CCM>
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CFB}>:TFM_CRYPTO_TEST_ALG_CFB>
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CTR}>:TFM_CRYPTO_TEST_ALG_CTR>
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_GCM}>:TFM_CRYPTO_TEST_ALG_GCM>
- $<$<BOOL:${TFM_CRYPTO_TEST_ALG_SHA_512}>:TFM_CRYPTO_TEST_ALG_SHA_512>
- $<$<BOOL:${TFM_CRYPTO_TEST_HKDF}>:TFM_CRYPTO_TEST_HKDF>
-)
-
+ target_compile_definitions(tfm_test_suite_crypto_s
+ PRIVATE
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CBC}>:TFM_CRYPTO_TEST_ALG_CBC>
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CCM}>:TFM_CRYPTO_TEST_ALG_CCM>
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CFB}>:TFM_CRYPTO_TEST_ALG_CFB>
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_CTR}>:TFM_CRYPTO_TEST_ALG_CTR>
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_GCM}>:TFM_CRYPTO_TEST_ALG_GCM>
+ $<$<BOOL:${TFM_CRYPTO_TEST_ALG_SHA_512}>:TFM_CRYPTO_TEST_ALG_SHA_512>
+ $<$<BOOL:${TFM_CRYPTO_TEST_HKDF}>:TFM_CRYPTO_TEST_HKDF>
+ )
+endif()
diff --git a/test/suites/ipc/CMakeLists.txt b/test/suites/ipc/CMakeLists.txt
index 8d3ac83..9551d4d 100644
--- a/test/suites/ipc/CMakeLists.txt
+++ b/test/suites/ipc/CMakeLists.txt
@@ -42,22 +42,24 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_ipc_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/ipc_s_interface_testsuite.c
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_ipc_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/ipc_s_interface_testsuite.c
+ )
-target_include_directories(tfm_test_suite_ipc_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
-)
+ target_include_directories(tfm_test_suite_ipc_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ )
-target_link_libraries(tfm_test_suite_ipc_s
- PRIVATE
- tfm_test_framework
-)
+ target_link_libraries(tfm_test_suite_ipc_s
+ PRIVATE
+ tfm_test_framework
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_ipc_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_ipc_s
+ )
+endif()
diff --git a/test/suites/its/CMakeLists.txt b/test/suites/its/CMakeLists.txt
index db9141d..6862c32 100644
--- a/test/suites/its/CMakeLists.txt
+++ b/test/suites/its/CMakeLists.txt
@@ -46,33 +46,35 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_its_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/its_tests_common.c
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_its_s_interface_testsuite.c
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_its_s_reliability_testsuite.c
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_its_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/its_tests_common.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_its_s_interface_testsuite.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_its_s_reliability_testsuite.c
+ )
-target_include_directories(tfm_test_suite_its_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
-)
+ target_include_directories(tfm_test_suite_its_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ )
-target_compile_definitions(tfm_test_suite_its_s
- PRIVATE
- ITS_MAX_ASSET_SIZE=${ITS_MAX_ASSET_SIZE}
-)
+ target_compile_definitions(tfm_test_suite_its_s
+ PRIVATE
+ ITS_MAX_ASSET_SIZE=${ITS_MAX_ASSET_SIZE}
+ )
-target_link_libraries(tfm_test_suite_its_s
- PRIVATE
- tfm_secure_api
- tfm_test_framework
- platform_region_defs
- tfm_partition_secure_client_2
- platform_s
-)
+ target_link_libraries(tfm_test_suite_its_s
+ PRIVATE
+ tfm_secure_api
+ tfm_test_framework
+ platform_region_defs
+ tfm_partition_secure_client_2
+ platform_s
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_its_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_its_s
+ )
+endif()
diff --git a/test/suites/platform/CMakeLists.txt b/test/suites/platform/CMakeLists.txt
index 0fa3632..b6a1f4f 100644
--- a/test/suites/platform/CMakeLists.txt
+++ b/test/suites/platform/CMakeLists.txt
@@ -40,27 +40,29 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_platform_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/platform_tests_common.c
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/platform_s_interface_testsuite.c
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_platform_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/platform_tests_common.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/platform_s_interface_testsuite.c
+ )
-target_include_directories(tfm_test_suite_platform_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
-)
+ target_include_directories(tfm_test_suite_platform_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ )
-target_link_libraries(tfm_test_suite_platform_s
- PRIVATE
- tfm_test_framework
- tfm_secure_api
- platform_s
-)
+ target_link_libraries(tfm_test_suite_platform_s
+ PRIVATE
+ tfm_test_framework
+ tfm_secure_api
+ platform_s
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_platform_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_platform_s
+ )
+endif()
diff --git a/test/suites/ps/CMakeLists.txt b/test/suites/ps/CMakeLists.txt
index 263b4f9..017acc6 100644
--- a/test/suites/ps/CMakeLists.txt
+++ b/test/suites/ps/CMakeLists.txt
@@ -47,37 +47,39 @@
####################### Secure #################################################
-target_sources(tfm_test_suite_ps_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_ps_s_interface_testsuite.c
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_ps_s_reliability_testsuite.c
- $<$<BOOL:${PS_TEST_NV_COUNTERS}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/ps_rollback_protection_testsuite.c>
- $<$<BOOL:${PS_TEST_NV_COUNTERS}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/nv_counters/test_ps_nv_counters.c>
-)
+if (TEST_S)
+ target_sources(tfm_test_suite_ps_s
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_ps_s_interface_testsuite.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/psa_ps_s_reliability_testsuite.c
+ $<$<BOOL:${PS_TEST_NV_COUNTERS}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/ps_rollback_protection_testsuite.c>
+ $<$<BOOL:${PS_TEST_NV_COUNTERS}>:${CMAKE_CURRENT_SOURCE_DIR}/secure/nv_counters/test_ps_nv_counters.c>
+ )
-target_include_directories(tfm_test_suite_ps_s
- PUBLIC
- ${CMAKE_CURRENT_SOURCE_DIR}/secure
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/secure/nv_counters
-)
+ target_include_directories(tfm_test_suite_ps_s
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/secure/nv_counters
+ )
-target_compile_definitions(tfm_test_suite_ps_s
- PRIVATE
- PS_MAX_ASSET_SIZE=${PS_MAX_ASSET_SIZE}
-)
+ target_compile_definitions(tfm_test_suite_ps_s
+ PRIVATE
+ PS_MAX_ASSET_SIZE=${PS_MAX_ASSET_SIZE}
+ )
-target_link_libraries(tfm_test_suite_ps_s
- PRIVATE
- tfm_test_framework
- platform_region_defs
- tfm_partition_ps
- tfm_partition_ps_test
- tfm_spm
- platform_s
-)
+ target_link_libraries(tfm_test_suite_ps_s
+ PRIVATE
+ tfm_test_framework
+ platform_region_defs
+ tfm_partition_ps
+ tfm_partition_ps_test
+ tfm_spm
+ platform_s
+ )
-target_link_libraries(tfm_s_tests
- INTERFACE
- tfm_test_suite_ps_s
-)
+ target_link_libraries(tfm_s_tests
+ INTERFACE
+ tfm_test_suite_ps_s
+ )
+endif()
diff --git a/test/test_services/CMakeLists.txt b/test/test_services/CMakeLists.txt
index e597623..eaab907 100644
--- a/test/test_services/CMakeLists.txt
+++ b/test/test_services/CMakeLists.txt
@@ -12,29 +12,31 @@
tfm_toolchain_reload_compiler()
endif()
-# Secure tests are declared in this dir so that it can use the secure CPU
-# definitions
-add_library(tfm_s_tests INTERFACE)
-if (TFM_PARTITION_CRYPTO)
- add_library(tfm_test_suite_crypto_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if (TFM_PARTITION_INITIAL_ATTESTATION)
- add_library(tfm_test_suite_attestation_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
- add_library(tfm_test_suite_its_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if (TFM_PARTITION_PROTECTED_STORAGE)
- add_library(tfm_test_suite_ps_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if(NOT TFM_PSA_API AND TFM_PARTITION_AUDIT_LOG)
- add_library(tfm_test_suite_audit_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if(TFM_PARTITION_PLATFORM)
- add_library(tfm_test_suite_platform_s STATIC EXCLUDE_FROM_ALL)
-endif()
-if(TFM_PSA_API)
- add_library(tfm_test_suite_ipc_s STATIC EXCLUDE_FROM_ALL)
+if (TEST_S)
+ # Secure tests are declared in this dir so that it can use the secure CPU
+ # definitions
+ add_library(tfm_s_tests INTERFACE)
+ if (TFM_PARTITION_CRYPTO)
+ add_library(tfm_test_suite_crypto_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if (TFM_PARTITION_INITIAL_ATTESTATION)
+ add_library(tfm_test_suite_attestation_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
+ add_library(tfm_test_suite_its_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if (TFM_PARTITION_PROTECTED_STORAGE)
+ add_library(tfm_test_suite_ps_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if(NOT TFM_PSA_API AND TFM_PARTITION_AUDIT_LOG)
+ add_library(tfm_test_suite_audit_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if(TFM_PARTITION_PLATFORM)
+ add_library(tfm_test_suite_platform_s STATIC EXCLUDE_FROM_ALL)
+ endif()
+ if(TFM_PSA_API)
+ add_library(tfm_test_suite_ipc_s STATIC EXCLUDE_FROM_ALL)
+ endif()
endif()
add_subdirectory(tfm_core_test)
@@ -43,8 +45,10 @@
add_subdirectory(tfm_irq_test_service_1)
endif()
add_subdirectory(tfm_ps_test_service)
-add_subdirectory(tfm_secure_client_service)
-add_subdirectory(tfm_secure_client_2)
+if (TEST_S)
+ add_subdirectory(tfm_secure_client_service)
+ add_subdirectory(tfm_secure_client_2)
+endif()
if(TFM_PSA_API)
add_subdirectory(tfm_ipc_service)
add_subdirectory(tfm_ipc_client)