Build: Correct usage of out-of-tree test suite build
Extra test suite build currently doesn't support to build
multiple test suites from different directories. The cmake
configuration names and build system are updated.
Signed-off-by: Jianliang Shen <jianliang.shen@arm.com>
Change-Id: I6f8b28efc3c6c5d1187586264a4cb76deae455de
diff --git a/docs/tfm_test_suites_addition.rst b/docs/tfm_test_suites_addition.rst
index 6cd9de6..9682311 100644
--- a/docs/tfm_test_suites_addition.rst
+++ b/docs/tfm_test_suites_addition.rst
@@ -295,21 +295,19 @@
**********************************
TF-M supports out-of-tree regression test suites build, whose source code
-folders are maintained outside tf-m-tests repo. There are two configurations
-for developers to include the source code.
+folder is outside tf-m-tests repo. There are two configurations for developers
+to include the source code.
-- ``EXTRA_NS_TEST_SUITES_PATHS``
+- ``EXTRA_NS_TEST_SUITE_PATH``
- A list of the absolute directories of the out-of-tree non-secure test suites
- source code folder(s). TF-M build system searches ``CMakeLists.txt`` of
- non-secure test suites in the source code folder(s).
- Use semicolons ``;`` to separate multiple out-of-tree non-secure test suites
- directories.
+ An absolute directory of the out-of-tree non-secure test suite
+ source code folder. TF-M build system searches ``CMakeLists.txt`` of
+ non-secure test suite in the source code folder.
-- ``EXTRA_S_TEST_SUITES_PATHS``
+- ``EXTRA_S_TEST_SUITE_PATH``
- A list of the absolute directories of the out-of-tree secure test suites
- source code folder(s).
+ An absolute directory of the out-of-tree secure test suite
+ source code folder.
Example usage
=============
@@ -325,12 +323,12 @@
├── ns_test.c
└── ns_test_config.cmake
-In the example above, ``EXTRA_NS_TEST_SUITES_PATHS`` in the build command can be
+In the example above, ``EXTRA_NS_TEST_SUITE_PATH`` in the build command can be
specified as listed below.
.. code-block:: bash
- -DEXTRA_NS_TEST_SUITES_PATHS=<Absolute-path-extra-test-folder>
+ -DEXTRA_NS_TEST_SUITE_PATH=<Absolute-path-extra-test-folder>
Coding instructions
===================
diff --git a/test/config/default_test_config.cmake b/test/config/default_test_config.cmake
index 06a4614..5446508 100644
--- a/test/config/default_test_config.cmake
+++ b/test/config/default_test_config.cmake
@@ -76,8 +76,8 @@
################################## Extra test suites ###########################
-set(EXTRA_NS_TEST_SUITES_PATHS "" CACHE PATH "List of extra non-secure test suites directories. An extra test suite folder contains source code, CMakeLists.txt and cmake configuration file")
-set(EXTRA_S_TEST_SUITES_PATHS "" CACHE PATH "List of extra secure test suites directories. An extra test suite folder contains source code, CMakeLists.txt and cmake configuration file")
+set(EXTRA_NS_TEST_SUITE_PATH "" CACHE PATH "List of extra non-secure test suites directories. An extra test suite folder contains source code, CMakeLists.txt and cmake configuration file")
+set(EXTRA_S_TEST_SUITE_PATH "" CACHE PATH "List of extra secure test suites directories. An extra test suite folder contains source code, CMakeLists.txt and cmake configuration file")
######################### Platform specific setting ############################
diff --git a/test/config/set_config.cmake b/test/config/set_config.cmake
index f492593..ae3064d 100644
--- a/test/config/set_config.cmake
+++ b/test/config/set_config.cmake
@@ -85,12 +85,12 @@
########################## Extra test suites ###################################
-if (EXTRA_NS_TEST_SUITES_PATHS)
- set(TEST_FRAMEWORK_NS ON CACHE BOOL "Whether to build NS regression tests framework")
+if (EXTRA_NS_TEST_SUITE_PATH)
+ set(TEST_FRAMEWORK_NS ON CACHE BOOL "Whether to build NS regression tests framework")
endif()
-if (EXTRA_S_TEST_SUITES_PATHS)
- set(TEST_FRAMEWORK_S ON CACHE BOOL "Whether to build S regression tests framework")
+if (EXTRA_S_TEST_SUITE_PATH)
+ set(TEST_FRAMEWORK_S ON CACHE BOOL "Whether to build S regression tests framework")
endif()
########################## Test profile ########################################
diff --git a/test/secure_fw/secure_tests.cmake b/test/secure_fw/secure_tests.cmake
index c74ec5a..c5f6dd5 100644
--- a/test/secure_fw/secure_tests.cmake
+++ b/test/secure_fw/secure_tests.cmake
@@ -94,6 +94,6 @@
if (TEST_S_FPU)
add_library(tfm_test_suite_fpu_s STATIC EXCLUDE_FROM_ALL)
endif()
-if (EXTRA_S_TEST_SUITES_PATHS)
+if (EXTRA_S_TEST_SUITE_PATH)
add_library(tfm_test_suite_extra_s STATIC EXCLUDE_FROM_ALL)
endif()
diff --git a/test/secure_fw/suites/extra/CMakeLists.txt b/test/secure_fw/suites/extra/CMakeLists.txt
index 21d1bfb..48a81a2 100644
--- a/test/secure_fw/suites/extra/CMakeLists.txt
+++ b/test/secure_fw/suites/extra/CMakeLists.txt
@@ -9,13 +9,13 @@
cmake_policy(SET CMP0079 NEW)
-if (NOT EXTRA_NS_TEST_SUITES_PATHS AND NOT EXTRA_S_TEST_SUITES_PATHS)
+if (NOT EXTRA_NS_TEST_SUITE_PATH AND NOT EXTRA_S_TEST_SUITE_PATH)
return()
endif()
####################### Non-Secure extra test library ##########################
-if (EXTRA_NS_TEST_SUITES_PATHS)
+if (EXTRA_NS_TEST_SUITE_PATH)
add_library(tfm_test_suite_extra_ns STATIC EXCLUDE_FROM_ALL)
target_include_directories(tfm_test_suite_extra_ns
@@ -41,7 +41,7 @@
####################### Secure extra test library ##############################
-if (EXTRA_S_TEST_SUITES_PATHS)
+if (EXTRA_S_TEST_SUITE_PATH)
target_include_directories(tfm_test_suite_extra_s
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/secure
diff --git a/test/secure_fw/suites/extra/extra_tests_config.cmake b/test/secure_fw/suites/extra/extra_tests_config.cmake
index 0daba43..90d5495 100644
--- a/test/secure_fw/suites/extra/extra_tests_config.cmake
+++ b/test/secure_fw/suites/extra/extra_tests_config.cmake
@@ -1,5 +1,5 @@
#-------------------------------------------------------------------------------
-# Copyright (c) 2021, Arm Limited. All rights reserved.
+# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -7,28 +7,24 @@
########################## load extra NS test suites source ####################
-if(EXTRA_NS_TEST_SUITES_PATHS)
+if(EXTRA_NS_TEST_SUITE_PATH)
# load source
- foreach(EXTRA_NS_TEST_SUITE IN LISTS EXTRA_NS_TEST_SUITES_PATHS)
- get_filename_component(EXTRA_NS_TEST_SUITE_NAME ${EXTRA_NS_TEST_SUITE} NAME_WLE)
+ get_filename_component(EXTRA_NS_TEST_SUITE_NAME ${EXTRA_NS_TEST_SUITE_PATH} NAME_WLE)
- # load subdirectories
- set(TEMP_BINARY_EXTRA_NS_TEST_SUITE
- "${CMAKE_CURRENT_BINARY_DIR}/${EXTRA_NS_TEST_SUITE_NAME}")
- add_subdirectory(${EXTRA_NS_TEST_SUITE} ${TEMP_BINARY_EXTRA_NS_TEST_SUITE})
- endforeach()
+ # load subdirectories
+ set(TEMP_BINARY_EXTRA_NS_TEST_SUITE
+ "${CMAKE_CURRENT_BINARY_DIR}/${EXTRA_NS_TEST_SUITE_NAME}")
+ add_subdirectory(${EXTRA_NS_TEST_SUITE} ${TEMP_BINARY_EXTRA_NS_TEST_SUITE})
endif()
########################## load extra S test suites source #####################
-if(EXTRA_S_TEST_SUITES_PATHS)
+if(EXTRA_S_TEST_SUITE_PATH)
# load source
- foreach(EXTRA_S_TEST_SUITE IN LISTS EXTRA_S_TEST_SUITES_PATHS)
- get_filename_component(EXTRA_S_TEST_SUITE_NAME ${EXTRA_S_TEST_SUITE} NAME_WLE)
+ get_filename_component(EXTRA_S_TEST_SUITE_NAME ${EXTRA_S_TEST_SUITE_PATH} NAME_WLE)
- # load subdirectories
- set(TEMP_BINARY_EXTRA_S_TEST_SUITE
- "${CMAKE_CURRENT_BINARY_DIR}/${EXTRA_S_TEST_SUITE_NAME}")
- add_subdirectory(${EXTRA_S_TEST_SUITE} ${TEMP_BINARY_EXTRA_S_TEST_SUITE})
- endforeach()
+ # load subdirectories
+ set(TEMP_BINARY_EXTRA_S_TEST_SUITE
+ "${CMAKE_CURRENT_BINARY_DIR}/${EXTRA_S_TEST_SUITE_NAME}")
+ add_subdirectory(${EXTRA_S_TEST_SUITE} ${TEMP_BINARY_EXTRA_S_TEST_SUITE})
endif()