blob: c34b0793d667a6529103e595ec9da901b7e5b6b4 [file] [log] [blame]
David Hu12f25872021-08-23 14:55:46 +08001#-------------------------------------------------------------------------------
2# Copyright (c) 2021, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8get_cmake_property(CACHE_VARS CACHE_VARIABLES)
9
10# By default all non-secure regression tests are disabled.
11# If TEST_NS or TEST_NS_XXX flag is passed via command line and set to ON,
12# selected corresponding features to support non-secure regression tests.
13foreach(CACHE_VAR ${CACHE_VARS})
14 string(REGEX MATCH "^TEST_NS.*" _NS_TEST_FOUND "${CACHE_VAR}")
15 if (_NS_TEST_FOUND AND "${${CACHE_VAR}}")
16 # TFM_NS_REG_TEST is a TF-M internal cmake flag to manage building
17 # tf-m-tests non-secure regression tests related source
18 set(TFM_NS_REG_TEST ON)
19 break()
20 endif()
21endforeach()
22
23# By default all secure regression tests are disabled.
24# If TEST_S or TEST_S_XXX flag is passed via command line and set to ON,
25# selected corresponding features to support secure regression tests.
26foreach(CACHE_VAR ${CACHE_VARS})
27 string(REGEX MATCH "^TEST_S.*" _S_TEST_FOUND "${CACHE_VAR}")
28 if (_S_TEST_FOUND AND "${${CACHE_VAR}}")
29 # TFM_S_REG_TEST is a TF-M internal cmake flag to manage building
30 # tf-m-tests secure regression tests related source
31 set(TFM_S_REG_TEST ON)
32 break()
33 endif()
34endforeach()
35
Jianliang Shen8c44e082021-09-01 10:22:45 +080036# By default EXTRA_<NS/S>_TEST_SUITES_PATHS is not set, extra test is also an
37# out-of-tree build regression test, and if they are enabled,
38# TFM_<NS/S>_REG_TEST will be enabled.
39if (EXTRA_NS_TEST_SUITES_PATHS)
40 set(TFM_NS_REG_TEST ON)
41endif()
42
43if (EXTRA_S_TEST_SUITES_PATHS)
44 set(TFM_S_REG_TEST ON)
45endif()
46
David Hu12f25872021-08-23 14:55:46 +080047# If NS app, secure regression test or non-secure regression test is enabled,
48# fetch tf-m-tests repo.
49# The conditiions are actually overlapped but it can make the logic more clear.
50# Besides, the dependencies between NS app and regression tests will be
51# optimized later.
52if (NS OR TFM_S_REG_TEST OR TFM_NS_REG_TEST)
53 # Set tf-m-tests repo config
54 include(${CMAKE_SOURCE_DIR}/lib/ext/tf-m-tests/repo_config_default.cmake)
55 # Fetch tf-m-tests repo
56 include(${CMAKE_SOURCE_DIR}/lib/ext/tf-m-tests/fetch_repo.cmake)
57endif()