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