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()