Build: Set up configs of TFM test in test repo

Change-Id: I5f18f236181ce8c2ac22019e3393475c53c8e9fc
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/tests_reg/CMakeLists.txt b/tests_reg/CMakeLists.txt
index 94ac087..1d9f901 100644
--- a/tests_reg/CMakeLists.txt
+++ b/tests_reg/CMakeLists.txt
@@ -15,26 +15,16 @@
     set(CMAKE_TOOLCHAIN_FILE  ${CONFIG_SPE_PATH}/cmake/toolchain_ns_GNUARM.cmake)
 endif()
 
-#--- Test configuration --------------------------------------------------------
-# include(../test/config/default_ns_test_config.cmake)
-# Temporary hardcoded. Need better mechnism of NS tests selectoin
+# Platform abilities for example IRQ test support status
+include(${CONFIG_SPE_PATH}/platform/config.cmake OPTIONAL)
 
 set(TFM_NS_REG_TEST       ON)
 set(NS                    ON)
-set(TEST_NS               ON)
 
-set(TEST_NS_ATTESTATION     OFF        CACHE BOOL      "Whether to build NS regression Attestation tests")
-set(TEST_NS_T_COSE          OFF        CACHE BOOL      "Whether to build NS regression t_cose tests")
-set(TEST_NS_CRYPTO          ON        CACHE BOOL      "Whether to build NS regression Crypto tests")
-set(TEST_NS_ITS             ON        CACHE BOOL      "Whether to build NS regression ITS tests")
-set(TEST_NS_PS              ON        CACHE BOOL      "Whether to build NS regression PS tests")
-set(TEST_NS_PLATFORM        ON        CACHE BOOL      "Whether to build NS regression Platform tests")
-set(TEST_NS_FWU             OFF        CACHE BOOL      "Whether to build NS regression FWU tests")
-set(TEST_NS_MULTI_CORE      OFF        CACHE BOOL      "Whether to build NS regression multi-core tests")
-set(TEST_NS_MANAGE_NSID     OFF        CACHE BOOL      "Whether to build NS regression NSID management tests")
-#------------------------------------------------------------------------------
+# Test suite configurations - set up by SPE build
+include(${CONFIG_SPE_PATH}/config_ns_test.cmake)
 
-# Include default test configurations (this not about which test suites to enable or disable)
+# Test configurations
 include(${CMAKE_CURRENT_LIST_DIR}/test/config/default_test_config.cmake)
 
 list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../cmake)
diff --git a/tests_reg/spe/CMakeLists.txt b/tests_reg/spe/CMakeLists.txt
index df4a8fb..80dcb93 100644
--- a/tests_reg/spe/CMakeLists.txt
+++ b/tests_reg/spe/CMakeLists.txt
@@ -6,6 +6,9 @@
 #-------------------------------------------------------------------------------
 cmake_minimum_required(VERSION 3.15)
 
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../../cmake)
+include(utils)
+
 # Force cross compilation and avoid compiler search and test
 set(CMAKE_SYSTEM_NAME Generic)
 set(CMAKE_C_COMPILER_FORCED TRUE)
@@ -23,12 +26,7 @@
     set(CMAKE_TOOLCHAIN_FILE  ${CONFIG_TFM_SOURCE_PATH}/toolchain_GNUARM.cmake)
 endif()
 
-if (NOT DEFINED CONFIG_TFM_REG_TESTS OR NOT EXISTS ${CONFIG_TFM_REG_TESTS})
-    message(WARNING "The default refgression test set is used. Use CONFIG_TFM_REG_TESTS argument to specify alternative configuration")
-    set(CONFIG_TFM_REG_TESTS ${CMAKE_SOURCE_DIR}/config_test.cmake)
-  endif()
-
-#------------------------------------------------------------------------------
+include(${CMAKE_CURRENT_LIST_DIR}/config/set_config.cmake)
 
 # tfm_s_test is IMPORTED to inform CMake that it has no source files.
 add_executable(tfm_s_test IMPORTED)
@@ -38,7 +36,11 @@
   SOURCE_DIR        ${CONFIG_TFM_SOURCE_PATH}
   BINARY_DIR        build-spe
   INSTALL_DIR       api_ns
-  CMAKE_ARGS        -DTFM_PLATFORM=${TFM_PLATFORM} -DCONFIG_TFM_TEST_DIR=${CMAKE_SOURCE_DIR}/.. -DTFM_EXTRA_CONFIG_PATH=${CONFIG_TFM_REG_TESTS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+  CMAKE_ARGS        -DTFM_PLATFORM=${TFM_PLATFORM}
+  CMAKE_ARGS        -DCONFIG_TFM_TEST_DIR=${CMAKE_CURRENT_LIST_DIR}/../test
+  CMAKE_ARGS        -DTFM_EXTRA_CONFIG_PATH=${CMAKE_CURRENT_BINARY_DIR}/config_spe.cmake
+  CMAKE_ARGS        -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+  CMAKE_ARGS        -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
   PREFIX             "temp"
 )
 
diff --git a/tests_reg/test/config/check_config.cmake b/tests_reg/spe/config/check_config.cmake
similarity index 97%
rename from tests_reg/test/config/check_config.cmake
rename to tests_reg/spe/config/check_config.cmake
index 3a26751..64a058e 100644
--- a/tests_reg/test/config/check_config.cmake
+++ b/tests_reg/spe/config/check_config.cmake
@@ -35,6 +35,7 @@
 tfm_invalid_config((NOT TFM_MULTI_CORE_TOPOLOGY) AND TEST_NS_MULTI_CORE)
 tfm_invalid_config(TEST_NS_T_COSE AND SYMMETRIC_INITIAL_ATTESTATION)
 tfm_invalid_config((NOT TFM_NS_MANAGE_NSID) AND TEST_NS_MANAGE_NSID)
+tfm_invalid_config(TFM_PXN_ENABLE AND PS_TEST_NV_COUNTERS)
 
 ########################## Check suites dependence #############################
 
diff --git a/tests_reg/spe/config/config_ns_test.cmake.in b/tests_reg/spe/config/config_ns_test.cmake.in
new file mode 100644
index 0000000..25c6c31
--- /dev/null
+++ b/tests_reg/spe/config/config_ns_test.cmake.in
@@ -0,0 +1,11 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+# This file is consumed by NS test build to get test configurations
+@NS_TEST_CONFIG_OPTIONS@
+# Profile test configurations
+include(@PROFILE_TEST_CONFIG_FILE@)
diff --git a/tests_reg/spe/config/config_spe.cmake.in b/tests_reg/spe/config/config_spe.cmake.in
new file mode 100644
index 0000000..22f024d
--- /dev/null
+++ b/tests_reg/spe/config/config_spe.cmake.in
@@ -0,0 +1,40 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+# This is configuration file for building TF-M SPE image for S + NS tests.
+# This file to be included in to TF-M build via TFM_EXTRA_CONFIG_PATH command option.
+#-------------------------------------------------------------------------------
+
+# Command-line options
+@COMMAND_LINE_OPTIONS@
+
+set(TEST_S          @TEST_S@ CACHE BOOL "Enable Secure Tests")
+set(TEST_NS         @TEST_NS@ CACHE BOOL "Enable NS Tests")
+set(TFM_S_REG_TEST  ON CACHE BOOL "Enable S regression test")
+
+# The following NS test configs are required for SPE build to include test codes
+set(TEST_NS_ATTESTATION  @TEST_NS_ATTESTATION@ CACHE BOOL   "Enable NS Attestation Tests")
+
+# Secure Partitions
+@SP_CONFIG_OPTIONS@
+# Secure test suites
+@S_TEST_CONFIG_OPTIONS@
+# Test configurations
+include(@PROFILE_TEST_CONFIG_FILE@)
+include(${CONFIG_TFM_TEST_DIR}/config/default_test_config.cmake)
+
+# Test Secure Partition building using out-of-tree build
+list(APPEND TFM_EXTRA_MANIFEST_LIST_FILES ${CONFIG_TFM_TEST_DIR}/secure_fw/tfm_test_manifest_list.yaml)
+list(APPEND TFM_EXTRA_PARTITION_PATHS
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/common_test_services/tfm_secure_client_service
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/common_test_services/tfm_secure_client_2
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/suites/spm/ipc/service
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/suites/spm/sfn/service
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/suites/spm/irq/service
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/suites/ps/service
+            ${CONFIG_TFM_TEST_DIR}/secure_fw/suites/fpu/service
+)
diff --git a/tests_reg/spe/config/default_config.cmake b/tests_reg/spe/config/default_config.cmake
new file mode 100644
index 0000000..c5f998c
--- /dev/null
+++ b/tests_reg/spe/config/default_config.cmake
@@ -0,0 +1,74 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+if(NOT DEFINED TEST_S AND NOT DEFINED TEST_NS)
+    # Only when there is no user input, both test are enabled.
+    set(TEST_S  ON CACHE BOOL "Enable Secure Tests")
+    set(TEST_NS ON CACHE BOOL "Enable NS Tests")
+endif()
+
+# Explicitly set values
+set(TEST_S  OFF CACHE BOOL "Enable Secure Tests")
+set(TEST_NS OFF CACHE BOOL "Enable NS Tests")
+
+################## Set configs that follow TEST_S/TEST_NS #########################################
+# "conditional" configs
+if(CONFIG_TFM_SPM_BACKEND_IPC)
+    set(TEST_S_IPC          ${TEST_S}        CACHE BOOL      "Whether to build NS regression SFN backend tests")
+    set(TEST_NS_IPC         ${TEST_NS}       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+else()
+    set(TEST_S_SFN_BACKEND  ${TEST_S}        CACHE BOOL      "Whether to build S regression SFN backend tests")
+    set(TEST_NS_SFN_BACKEND ${TEST_NS}       CACHE BOOL      "Whether to build S regression SFN backend tests")
+endif()
+
+# Make FLIH IRQ test as the default IRQ test
+if (PLATFORM_FLIH_IRQ_TEST_SUPPORT AND NOT TEST_NS_SLIH_IRQ)
+    set(TEST_NS_FLIH_IRQ    ${TEST_NS}       CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
+endif()
+
+if (PLATFORM_SLIH_IRQ_TEST_SUPPORT AND NOT TEST_NS_FLIH_IRQ)
+    set(TEST_NS_SLIH_IRQ    ${TEST_NS}       CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
+endif()
+
+if(PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT)
+    set(TEST_S_FWU          ${TEST_S}        CACHE BOOL      "Whether to build NS regression FWU tests")
+    set(TEST_NS_FWU         ${TEST_NS}       CACHE BOOL      "Whether to build NS regression FWU tests")
+endif()
+
+# Test suites that enabled by default as long as TEST_S is ON
+set(TEST_S_ATTESTATION      ${TEST_S}        CACHE BOOL      "Whether to build S regression Attestation tests")
+set(TEST_S_CRYPTO           ${TEST_S}        CACHE BOOL      "Whether to build S regression Crypto tests")
+set(TEST_S_ITS              ${TEST_S}        CACHE BOOL      "Whether to build S regression ITS tests")
+set(TEST_S_PS               ${TEST_S}        CACHE BOOL      "Whether to build S regression PS tests")
+set(TEST_S_PLATFORM         ${TEST_S}        CACHE BOOL      "Whether to build S regression Platform tests")
+
+# Test suites that enabled by default as long as TEST_NS is ON
+set(TEST_NS_ATTESTATION     ${TEST_NS}        CACHE BOOL      "Whether to build NS regression Attestation tests")
+set(TEST_NS_CRYPTO          ${TEST_NS}        CACHE BOOL      "Whether to build NS regression Crypto tests")
+set(TEST_NS_ITS             ${TEST_NS}        CACHE BOOL      "Whether to build NS regression ITS tests")
+set(TEST_NS_PS              ${TEST_NS}        CACHE BOOL      "Whether to build NS regression PS tests")
+set(TEST_NS_PLATFORM        ${TEST_NS}        CACHE BOOL      "Whether to build NS regression Platform tests")
+
+###################### Ensure "conditional" config has default values ##############################
+set(TEST_S_IPC            OFF       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+set(TEST_NS_IPC           OFF       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+set(TEST_S_SFN_BACKEND    OFF       CACHE BOOL      "Whether to build S regression SFN backend tests")
+set(TEST_NS_SFN_BACKEND   OFF       CACHE BOOL      "Whether to build S regression SFN backend tests")
+set(TEST_S_FWU            OFF       CACHE BOOL      "Whether to build S regression FWU tests")
+set(TEST_NS_FWU           OFF       CACHE BOOL      "Whether to build NS regression FWU tests")
+set(TEST_NS_SLIH_IRQ      OFF       CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
+set(TEST_NS_FLIH_IRQ      OFF       CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
+
+######################### Disabled test suites by default ##########################################
+set(TEST_S_FPU            OFF       CACHE BOOL      "Whether to build S regression FPU tests")
+set(TEST_NS_FPU           OFF       CACHE BOOL      "Whether to build NS regression FPU tests")
+
+set(TEST_NS_MULTI_CORE    OFF       CACHE BOOL      "Whether to build NS regression multi-core tests")
+set(TEST_NS_MANAGE_NSID   OFF       CACHE BOOL      "Whether to build NS regression NSID management tests")
+
+set(TEST_NS_T_COSE        OFF       CACHE BOOL      "Whether to build NS regression t_cose tests")
+set(TEST_NS_QCBOR         OFF       CACHE BOOL      "Whether to build NS regression QCBOR tests")
diff --git a/tests_reg/spe/config/enable_dep_config.cmake b/tests_reg/spe/config/enable_dep_config.cmake
new file mode 100755
index 0000000..957f61f
--- /dev/null
+++ b/tests_reg/spe/config/enable_dep_config.cmake
@@ -0,0 +1,81 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+###################### TF-M Secure Partition configurations ###########################
+if(TEST_S_CRYPTO OR TEST_NS_CRYPTO)
+    set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
+    set(TFM_PARTITION_CRYPTO                   ON       CACHE BOOL      "Enable Crypto partition")
+endif()
+
+if(TEST_S_PS OR TEST_NS_PS)
+    set(TFM_PARTITION_PROTECTED_STORAGE        ON       CACHE BOOL      "Enable Protected Storage partition")
+    set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
+    set(TFM_PARTITION_CRYPTO                   ON       CACHE BOOL      "Enable Crypto partition")
+    set(TFM_PARTITION_PLATFORM                 ON       CACHE BOOL      "Enable Platform partition")
+
+    # TEST_NS_PS relies on TEST_NS_ITS, this should goes to NS test config setup
+    if(TEST_NS_PS)
+        set(TEST_NS_ITS                        ON       CACHE BOOL      "Whether to build NS regression ITS tests")
+    endif()
+endif()
+
+if(TEST_S_ITS OR TEST_NS_ITS)
+    set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
+endif()
+
+if(TEST_S_ATTESTATION OR TEST_NS_ATTESTATION OR TEST_NS_T_COSE OR TEST_NS_QCBOR)
+    set(TFM_PARTITION_INITIAL_ATTESTATION      ON       CACHE BOOL      "Enable Initial Attestation partition")
+    set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
+    set(TFM_PARTITION_CRYPTO                   ON       CACHE BOOL      "Enable Crypto partition")
+endif()
+
+if(TEST_S_PLATFORM OR TEST_NS_PLATFORM)
+    set(TFM_PARTITION_PLATFORM                 ON       CACHE BOOL      "Enable Platform partition")
+endif()
+
+if((TEST_S_FWU OR TEST_NS_FWU) AND PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT)
+    set(TFM_PARTITION_FIRMWARE_UPDATE          ON       CACHE BOOL      "Enable firmware update partition")
+    set(TFM_PARTITION_CRYPTO                   ON       CACHE BOOL      "Enable Crypto partition")
+    set(TFM_PARTITION_PLATFORM                 ON       CACHE BOOL      "Enable Platform partition")
+    set(TFM_PARTITION_INTERNAL_TRUSTED_STORAGE ON       CACHE BOOL      "Enable Internal Trusted Storage partition")
+endif()
+
+if(TEST_NS_MANAGE_NSID AND NOT TFM_MULTI_CORE_TOPOLOGY)
+    set(TFM_NS_MANAGE_NSID                     ON       CACHE BOOL      "Support NSPE OS providing NSPE client_id")
+endif()
+
+###################### Test Partition configurations ###########################
+if(TEST_NS_IPC OR TEST_S_IPC)
+    set(TFM_PARTITION_IPC_TEST  ON  CACHE BOOL  "Enable the IPC test Partitions")
+else()
+    set(TFM_PARTITION_IPC_TEST  OFF CACHE BOOL  "Enable the IPC test Partitions")
+endif()
+
+if(TEST_NS_SFN_BACKEND OR TEST_S_SFN_BACKEND)
+    set(TFM_PARTITION_SFN_BACKEND_TEST  ON  CACHE BOOL  "Enable the SFN test Partitions")
+else()
+    set(TFM_PARTITION_SFN_BACKEND_TEST  OFF CACHE BOOL  "Enable the SFN test Partitions")
+endif()
+
+if(TEST_S_PS)
+    set(TFM_PARTITION_PS_TEST ON CACHE BOOL "Enable the PS test Partition")
+endif()
+
+if(TEST_NS_SLIH_IRQ)
+    set(TFM_PARTITION_SLIH_TEST ON CACHE BOOL "Enable the SLIH test Partition")
+endif()
+
+if(TEST_NS_FLIH_IRQ)
+    set(TFM_PARTITION_FLIH_TEST ON CACHE BOOL "Enable the FLIH test Partition")
+endif()
+
+# Enable FPU test partition if S or NS FP test enabled
+if (TEST_S_FPU OR TEST_NS_FPU)
+    set(TFM_PARTITION_FPU_TEST        ON   CACHE BOOL  "Enable the FPU test Partitions")
+else()
+    set(TFM_PARTITION_FPU_TEST        OFF  CACHE BOOL  "Enable the FPU test Partitions")
+endif()
diff --git a/tests_reg/spe/config/profile_default_config.cmake b/tests_reg/spe/config/profile_default_config.cmake
new file mode 100644
index 0000000..0c1dae5
--- /dev/null
+++ b/tests_reg/spe/config/profile_default_config.cmake
@@ -0,0 +1,72 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+if(NOT DEFINED TEST_S AND NOT DEFINED TEST_NS)
+    # Only when there is no user input, both test are enabled.
+    set(TEST_S  ON CACHE BOOL "Enable Secure Tests")
+    set(TEST_NS ON CACHE BOOL "Enable NS Tests")
+endif()
+
+# Explicitly set values
+set(TEST_S  OFF CACHE BOOL "Enable Secure Tests")
+set(TEST_NS OFF CACHE BOOL "Enable NS Tests")
+
+################## Set configs that follow TEST_S/TEST_NS #########################################
+# "conditional" configs
+if(CONFIG_TFM_SPM_BACKEND_IPC)
+    set(TEST_S_IPC          ${TEST_S}        CACHE BOOL      "Whether to build NS regression SFN backend tests")
+    set(TEST_NS_IPC         ${TEST_NS}       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+else()
+    set(TEST_S_SFN_BACKEND  ${TEST_S}        CACHE BOOL      "Whether to build S regression SFN backend tests")
+    set(TEST_NS_SFN_BACKEND ${TEST_NS}       CACHE BOOL      "Whether to build S regression SFN backend tests")
+endif()
+
+# Make FLIH IRQ test as the default IRQ test
+if (PLATFORM_FLIH_IRQ_TEST_SUPPORT AND NOT TEST_NS_SLIH_IRQ)
+    set(TEST_NS_FLIH_IRQ    ${TEST_NS}       CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
+endif()
+
+if (PLATFORM_SLIH_IRQ_TEST_SUPPORT AND NOT TEST_NS_FLIH_IRQ)
+    set(TEST_NS_SLIH_IRQ    ${TEST_NS}       CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
+endif()
+
+# Test suites that follow the corresponding Secure Partitions
+set(TEST_S_FWU          ${TFM_PARTITION_FIRMWARE_UPDATE}            CACHE BOOL  "Whether to build NS regression FWU tests")
+set(TEST_NS_FWU         ${TFM_PARTITION_FIRMWARE_UPDATE}            CACHE BOOL  "Whether to build NS regression FWU tests")
+
+set(TEST_S_ATTESTATION  ${TFM_PARTITION_INITIAL_ATTESTATION}        CACHE BOOL  "Whether to build S regression Attestation tests")
+set(TEST_S_CRYPTO       ${TFM_PARTITION_CRYPTO}                     CACHE BOOL  "Whether to build S regression Crypto tests")
+set(TEST_S_ITS          ${TFM_PARTITION_INTERNAL_TRUSTED_STORAGE}   CACHE BOOL  "Whether to build S regression ITS tests")
+set(TEST_S_PS           ${TFM_PARTITION_PROTECTED_STORAGE}          CACHE BOOL  "Whether to build S regression PS tests")
+set(TEST_S_PLATFORM     ${TFM_PARTITION_PLATFORM}                   CACHE BOOL  "Whether to build S regression Platform tests")
+
+# Test suites that enabled by default as long as TEST_NS is ON
+set(TEST_NS_ATTESTATION ${TFM_PARTITION_INITIAL_ATTESTATION}        CACHE BOOL  "Whether to build NS regression Attestation tests")
+set(TEST_NS_CRYPTO      ${TFM_PARTITION_CRYPTO}                     CACHE BOOL  "Whether to build NS regression Crypto tests")
+set(TEST_NS_ITS         ${TFM_PARTITION_INTERNAL_TRUSTED_STORAGE}   CACHE BOOL  "Whether to build NS regression ITS tests")
+set(TEST_NS_PS          ${TFM_PARTITION_PROTECTED_STORAGE}          CACHE BOOL  "Whether to build NS regression PS tests")
+set(TEST_NS_PLATFORM    ${TFM_PARTITION_PLATFORM}                   CACHE BOOL  "Whether to build NS regression Platform tests")
+
+###################### Ensure "conditional" config has default values ##############################
+set(TEST_S_IPC            OFF       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+set(TEST_NS_IPC           OFF       CACHE BOOL      "Whether to build NS regression SFN backend tests")
+set(TEST_S_SFN_BACKEND    OFF       CACHE BOOL      "Whether to build S regression SFN backend tests")
+set(TEST_NS_SFN_BACKEND   OFF       CACHE BOOL      "Whether to build S regression SFN backend tests")
+set(TEST_S_FWU            OFF       CACHE BOOL      "Whether to build S regression FWU tests")
+set(TEST_NS_FWU           OFF       CACHE BOOL      "Whether to build NS regression FWU tests")
+set(TEST_NS_SLIH_IRQ      OFF       CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
+set(TEST_NS_FLIH_IRQ      OFF       CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
+
+######################### Disabled test suites by default ##########################################
+set(TEST_S_FPU            OFF       CACHE BOOL      "Whether to build S regression FPU tests")
+set(TEST_NS_FPU           OFF       CACHE BOOL      "Whether to build NS regression FPU tests")
+
+set(TEST_NS_MULTI_CORE    OFF       CACHE BOOL      "Whether to build NS regression multi-core tests")
+set(TEST_NS_MANAGE_NSID   OFF       CACHE BOOL      "Whether to build NS regression NSID management tests")
+
+set(TEST_NS_T_COSE        OFF       CACHE BOOL      "Whether to build NS regression t_cose tests")
+set(TEST_NS_QCBOR         OFF       CACHE BOOL      "Whether to build NS regression QCBOR tests")
diff --git a/tests_reg/spe/config/set_config.cmake b/tests_reg/spe/config/set_config.cmake
new file mode 100644
index 0000000..4cea154
--- /dev/null
+++ b/tests_reg/spe/config/set_config.cmake
@@ -0,0 +1,141 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+# Profile
+if(TFM_PROFILE)
+    include(${CONFIG_TFM_SOURCE_PATH}/config/profile/${TFM_PROFILE}.cmake)
+    set(PROFILE_TEST_CONFIG_FILE    ${CMAKE_CURRENT_LIST_DIR}/../../test/config/profile/${TFM_PROFILE}_test.cmake)
+else()
+    set(PROFILE_TEST_CONFIG_FILE    ${CMAKE_CURRENT_LIST_DIR}/../../test/config/default_test_config.cmake)
+endif()
+
+# Backend config is required to enable or disable corresponding test suites
+# Set up backend config
+if((DEFINED TFM_ISOLATION_LEVEL AND TFM_ISOLATION_LEVEL GREATER 1) OR
+    CONFIG_TFM_SPM_BACKEND STREQUAL "IPC" OR TFM_MULTI_CORE_TOPOLOGY)
+    set(CONFIG_TFM_SPM_BACKEND_IPC  ON)
+    set(CONFIG_TFM_SPM_BACKEND_SFN  OFF)
+else()
+    #The default backend is SFN
+    set(CONFIG_TFM_SPM_BACKEND_IPC  OFF)
+    set(CONFIG_TFM_SPM_BACKEND_SFN  ON)
+endif()
+
+# Get platform configurations, for example, PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT
+include(${CONFIG_TFM_SOURCE_PATH}/config/tfm_platform.cmake)
+include(${TARGET_PLATFORM_PATH}/config.cmake OPTIONAL)
+
+# Set up test suites configurations according to command-line options.
+# By default (no test suites configs at all), configs are set according to default_config.cmake.
+# Users can:
+# 1. Disable all the S/NS tests by setting corresponding TEST_S/TEST_NS to OFF
+# 2. Disable individual test suites by setting the corresponding TEST_(N)S_* to OFF.
+#    Other test suites are set according to default_config.cmake
+# 3. Enable individual test suites by setting the corresponding TEST_(N)S_* to ON.
+#    Other test suites are disabled by default. To enable other test suites, set the corresponding
+#    config option to ON. This applies to TEST_S and TEST_NS as well which can be used to enable
+#    test suites that are disabled by default even then TEST_NS/S is enabled.
+
+# Check if user enabled individual test suites.
+# If not, the default config is applied
+set(LOAD_DEFAULT_CONFIG ON)
+get_cmake_property(CACHE_VARS CACHE_VARIABLES)
+foreach(CACHE_VAR ${CACHE_VARS})
+    string(REGEX MATCH "^TEST_S.+" _S_TEST_FOUND "${CACHE_VAR}")
+    if (_S_TEST_FOUND AND "${${CACHE_VAR}}")
+        # User enabled individual S test suite, by default all other S test suites are off,
+        # Unless TEST_S is explicity set to ON
+        set(TEST_S OFF CACHE BOOL "Enable Secure Tests")
+        set(LOAD_DEFAULT_CONFIG OFF)
+        break()
+    endif()
+    string(REGEX MATCH "^TEST_NS.+" _NS_TEST_FOUND "${CACHE_VAR}")
+    if (_NS_TEST_FOUND AND "${${CACHE_VAR}}")
+        # User enabled individual NS test suite, by default all other NS test suites are OFF,
+        # Unless TEST_NS is explicity set to ON
+        set(TEST_NS OFF CACHE BOOL "Enable NS Tests")
+        set(LOAD_DEFAULT_CONFIG OFF)
+        break()
+    endif()
+endforeach()
+
+# If the user also enable TEST_S/TEST_NS, the default configs should also be loaded.
+if((TEST_S OR TEST_NS) AND NOT LOAD_DEFAULT_CONFIG)
+    set(LOAD_DEFAULT_CONFIG ON)
+endif()
+
+if(LOAD_DEFAULT_CONFIG)
+    # If profile is set, then test suites are enabled according to Secure Partitions.
+    # On the contrary, by default, Secure Partitions are enabled according to test suites.
+    if(TFM_PROFILE)
+        include(${CMAKE_CURRENT_LIST_DIR}/profile_default_config.cmake)
+    else()
+        include(${CMAKE_CURRENT_LIST_DIR}/default_config.cmake)
+    endif()
+endif()
+
+# Set up dependency Secure Partition configs
+include(${CMAKE_CURRENT_LIST_DIR}/enable_dep_config.cmake)
+
+# Set up variables for config_*.cmake.in
+get_cmake_property(CACHE_VARS CACHE_VARIABLES)
+foreach(CACHE_VAR ${CACHE_VARS})
+    get_property(HELP_STRING CACHE ${CACHE_VAR} PROPERTY HELPSTRING)
+    get_property(CACHE_TYPE CACHE ${CACHE_VAR} PROPERTY TYPE)
+
+    # Command-line options passing to Secure build
+    if("${HELP_STRING}" MATCHES "variable specified on the command line")
+        string(REGEX MATCH "^TEST_NS.*" _NS_TEST_FOUND "${CACHE_VAR}")
+        if(NOT _NS_TEST_FOUND)
+            # Skip NS test suite config options
+            string(APPEND COMMAND_LINE_OPTIONS
+                   "set(${CACHE_VAR}\r\n    ${${CACHE_VAR}}\r\n    CACHE ${CACHE_TYPE} \"${HELP_STRING}\")\r\n")
+        endif()
+    endif()
+
+    # Secure test suites
+    string(REGEX MATCH "^TEST_S.+" _S_TEST_FOUND "${CACHE_VAR}")
+    if (_S_TEST_FOUND)
+        format_string(FORMATTED_CACHE_VAR ${CACHE_VAR} 25 " ")
+        format_string(FORMATTED_CACHE_VAL ${${CACHE_VAR}} 5 " ")
+        string(APPEND S_TEST_CONFIG_OPTIONS
+               "set(${FORMATTED_CACHE_VAR} ${FORMATTED_CACHE_VAL} CACHE ${CACHE_TYPE} \"${HELP_STRING}\")\r\n"
+        )
+    endif()
+
+    # NS test suits
+    string(REGEX MATCH "^TEST_NS.+" _NS_TEST_FOUND "${CACHE_VAR}")
+    if (_NS_TEST_FOUND)
+        format_string(FORMATTED_CACHE_VAR ${CACHE_VAR} 25 " ")
+        format_string(FORMATTED_CACHE_VAL ${${CACHE_VAR}} 5 " ")
+        string(APPEND NS_TEST_CONFIG_OPTIONS
+               "set(${FORMATTED_CACHE_VAR} ${FORMATTED_CACHE_VAL} CACHE ${CACHE_TYPE} \"${HELP_STRING}\")\r\n"
+        )
+    endif()
+
+    # Secure Partitions
+    string(REGEX MATCH "^TFM_PARTITION_.+" _PARTITION_FOUND "${CACHE_VAR}")
+    if (_PARTITION_FOUND)
+        format_string(FORMATTED_CACHE_VAR ${CACHE_VAR} 40 " ")
+        format_string(FORMATTED_CACHE_VAL ${${CACHE_VAR}} 5 " ")
+        string(APPEND SP_CONFIG_OPTIONS
+               "set(${FORMATTED_CACHE_VAR} ${FORMATTED_CACHE_VAL} CACHE ${CACHE_TYPE} \"${HELP_STRING}\")\r\n"
+        )
+    endif()
+endforeach()
+
+# This file is for Secure build
+configure_file(${CMAKE_CURRENT_LIST_DIR}/config_spe.cmake.in
+               ${CMAKE_BINARY_DIR}/config_spe.cmake
+               @ONLY)
+
+# This file is for NS build
+configure_file(${CMAKE_CURRENT_LIST_DIR}/config_ns_test.cmake.in
+               ${CMAKE_BINARY_DIR}/api_ns/config_ns_test.cmake
+               @ONLY)
+
+include(${CMAKE_CURRENT_LIST_DIR}/check_config.cmake)
diff --git a/tests_reg/spe/config_test.cmake b/tests_reg/spe/config_test.cmake
deleted file mode 100644
index 33e5a47..0000000
--- a/tests_reg/spe/config_test.cmake
+++ /dev/null
@@ -1,34 +0,0 @@
-#-------------------------------------------------------------------------------
-# Copyright (c) 2023, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
-#-------------------------------------------------------------------------------
-
-# This is default configuration file for building TF-M SPE image for S+NS tests.
-# This file to be included in to TF-M build via TFM_EXTRA_CONFIG_PATH command option.
-# An alternative file can be pased for S test via CONFIG_TFM_REG_TESTS argument.
-#-------------------------------------------------------------------------------
-
-set(TEST_S                  ON       CACHE BOOL      "Whether to build S regression tests")
-set(TFM_S_REG_TEST          ON       CACHE BOOL      "Enable S regression test")
-set(NS                      OFF      CACHE BOOL      "Enalbe NS side build")
-
-set(TEST_S_ATTESTATION      ON       CACHE BOOL      "Whether to build S regression Attestation tests")
-set(TEST_S_CRYPTO           ON       CACHE BOOL      "Whether to build S regression Crypto tests")
-set(TEST_S_ITS              ON       CACHE BOOL      "Whether to build S regression ITS tests")
-set(TEST_S_PS               ON       CACHE BOOL      "Whether to build S regression PS tests")
-set(TEST_S_PLATFORM         ON       CACHE BOOL      "Whether to build S regression Platform tests")
-set(TEST_S_SFN_BACKEND      ON       CACHE BOOL      "Whether to build S regression SFN tests")
-
-set(TEST_S_FWU              OFF      CACHE BOOL      "Whether to build S regression FWU tests")
-set(TEST_S_IPC              OFF      CACHE BOOL      "Whether to build S regression IPC tests")
-set(TEST_S_FPU              OFF      CACHE BOOL      "Whether to build S regression FPU tests")
-
-#-------------------------------------------------------------------------------
-# Use local repositories and avoid fetching them on evey clean build.
-# A tempoarl settings to be remove later.
-#-------------------------------------------------------------------------------
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/localrepos.cmake)
-    include(${CMAKE_CURRENT_SOURCE_DIR}/localrepos.cmake)
-endif()
diff --git a/tests_reg/test/CMakeLists.txt b/tests_reg/test/CMakeLists.txt
index 20798f1..a9558a5 100644
--- a/tests_reg/test/CMakeLists.txt
+++ b/tests_reg/test/CMakeLists.txt
@@ -31,5 +31,3 @@
 if(TEST_BL1_1 OR TEST_BL1_2)
     add_subdirectory(bl1)
 endif()
-
-include(config/check_config.cmake)
diff --git a/tests_reg/test/config/default_ns_test_config.cmake b/tests_reg/test/config/default_ns_test_config.cmake
deleted file mode 100644
index fbdbe1e..0000000
--- a/tests_reg/test/config/default_ns_test_config.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-#-------------------------------------------------------------------------------
-# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
-#-------------------------------------------------------------------------------
-
-########################## NS test suites ######################################
-
-set(TEST_NS_ATTESTATION     ON        CACHE BOOL      "Whether to build NS regression Attestation tests")
-set(TEST_NS_T_COSE          ON        CACHE BOOL      "Whether to build NS regression t_cose tests")
-set(TEST_NS_CRYPTO          ON        CACHE BOOL      "Whether to build NS regression Crypto tests")
-set(TEST_NS_ITS             ON        CACHE BOOL      "Whether to build NS regression ITS tests")
-set(TEST_NS_PS              ON        CACHE BOOL      "Whether to build NS regression PS tests")
-set(TEST_NS_PLATFORM        ON        CACHE BOOL      "Whether to build NS regression Platform tests")
-set(TEST_NS_FWU             ON        CACHE BOOL      "Whether to build NS regression FWU tests")
-set(TEST_NS_MULTI_CORE      ON        CACHE BOOL      "Whether to build NS regression multi-core tests")
-set(TEST_NS_MANAGE_NSID     ON        CACHE BOOL      "Whether to build NS regression NSID management tests")
-
-set(TEST_NS_QCBOR           OFF       CACHE BOOL      "Whether to build NS regression QCBOR tests")
-set(TEST_NS_SLIH_IRQ        OFF       CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
-set(TEST_NS_FLIH_IRQ        OFF       CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
-set(TEST_NS_FPU             OFF       CACHE BOOL      "Whether to build NS regression FPU tests")
-set(TEST_NS_IPC             OFF       CACHE BOOL      "Whether to build NS regression IPC tests")
-set(TEST_NS_SFN_BACKEND     OFF       CACHE BOOL      "Whether to build NS regression SFN backend tests")
diff --git a/tests_reg/test/config/default_s_test_config.cmake b/tests_reg/test/config/default_s_test_config.cmake
deleted file mode 100644
index eb2e622..0000000
--- a/tests_reg/test/config/default_s_test_config.cmake
+++ /dev/null
@@ -1,19 +0,0 @@
-#-------------------------------------------------------------------------------
-# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
-#-------------------------------------------------------------------------------
-
-########################## S test suites #######################################
-
-set(TEST_S_ATTESTATION      ON        CACHE BOOL      "Whether to build S regression Attestation tests")
-set(TEST_S_CRYPTO           ON        CACHE BOOL      "Whether to build S regression Crypto tests")
-set(TEST_S_ITS              ON        CACHE BOOL      "Whether to build S regression ITS tests")
-set(TEST_S_PS               ON        CACHE BOOL      "Whether to build S regression PS tests")
-set(TEST_S_PLATFORM         ON        CACHE BOOL      "Whether to build S regression Platform tests")
-
-set(TEST_S_FWU              OFF       CACHE BOOL      "Whether to build S regression FWU tests")
-set(TEST_S_IPC              OFF       CACHE BOOL      "Whether to build S regression IPC tests")
-set(TEST_S_SFN_BACKEND      OFF       CACHE BOOL      "Whether to build S regression SFN tests")
-set(TEST_S_FPU              OFF       CACHE BOOL      "Whether to build S regression FPU tests")
diff --git a/tests_reg/test/config/default_test_config.cmake b/tests_reg/test/config/default_test_config.cmake
index 827d2ff..f2c9177 100644
--- a/tests_reg/test/config/default_test_config.cmake
+++ b/tests_reg/test/config/default_test_config.cmake
@@ -6,8 +6,12 @@
 #-------------------------------------------------------------------------------
 
 ################################## PS Tests ####################################
-
-set(PS_TEST_NV_COUNTERS                 ON          CACHE BOOL      "Use the test NV counters to test Protected Storage rollback scenarios")
+if (TFM_PXN_ENABLE)
+    # The PS test NV counters do not work with PXN enabled
+    set(PS_TEST_NV_COUNTERS     OFF        CACHE BOOL      "Use the test NV counters to test Protected Storage rollback scenarios")
+else()
+    set(PS_TEST_NV_COUNTERS     ON         CACHE BOOL      "Use the test NV counters to test Protected Storage rollback scenarios")
+endif()
 
 ################################## Default CRYPTO Tests ########################
 
diff --git a/tests_reg/test/config/set_config.cmake b/tests_reg/test/config/set_config.cmake
deleted file mode 100644
index 97ac8a9..0000000
--- a/tests_reg/test/config/set_config.cmake
+++ /dev/null
@@ -1,121 +0,0 @@
-#-------------------------------------------------------------------------------
-# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
-#-------------------------------------------------------------------------------
-
-########################## TEST SYNC ###########################################
-
-if ((NOT TFM_PARTITION_PROTECTED_STORAGE))
-    set(TEST_NS_PS              OFF        CACHE BOOL      "Whether to build NS regression PS tests")
-    set(TEST_S_PS               OFF        CACHE BOOL      "Whether to build S regression PS tests")
-endif()
-
-if (NOT TFM_PARTITION_INTERNAL_TRUSTED_STORAGE)
-    set(TEST_NS_ITS             OFF        CACHE BOOL      "Whether to build NS regression ITS tests")
-    set(TEST_S_ITS              OFF        CACHE BOOL      "Whether to build S regression ITS tests")
-
-    # TEST_NS_PS relies on TEST_NS_ITS
-    set(TEST_NS_PS              OFF        CACHE BOOL      "Whether to build NS regression PS tests")
-endif()
-
-if (NOT TFM_PARTITION_CRYPTO)
-    set(TEST_NS_CRYPTO          OFF        CACHE BOOL      "Whether to build NS regression Crypto tests")
-    set(TEST_S_CRYPTO           OFF        CACHE BOOL      "Whether to build S regression Crypto tests")
-endif()
-
-if (NOT TFM_PARTITION_INITIAL_ATTESTATION)
-    set(TEST_NS_ATTESTATION     OFF        CACHE BOOL      "Whether to build NS regression Attestation tests")
-    set(TEST_S_ATTESTATION      OFF        CACHE BOOL      "Whether to build S regression Attestation tests")
-    set(TEST_NS_QCBOR           OFF        CACHE BOOL      "Whether to build NS regression QCBOR tests")
-    set(TEST_NS_T_COSE          OFF        CACHE BOOL      "Whether to build NS regression t_cose tests")
-endif()
-
-if (SYMMETRIC_INITIAL_ATTESTATION)
-    set(TEST_NS_T_COSE          OFF        CACHE BOOL      "Whether to build NS regression t_cose tests")
-endif()
-
-if (NOT TFM_PARTITION_PLATFORM)
-    set(TEST_NS_PLATFORM        OFF        CACHE BOOL      "Whether to build NS regression Platform tests")
-    set(TEST_S_PLATFORM         OFF        CACHE BOOL      "Whether to build S regression Platform tests")
-endif()
-
-if (NOT TFM_PARTITION_FIRMWARE_UPDATE)
-    set(TEST_NS_FWU             OFF        CACHE BOOL      "Whether to build NS regression FWU tests")
-    set(TEST_S_FWU              OFF        CACHE BOOL      "Whether to build S regression FWU tests")
-endif()
-
-if (NOT TFM_MULTI_CORE_TOPOLOGY)
-    set(TEST_NS_MULTI_CORE      OFF        CACHE BOOL      "Whether to build NS regression multi-core tests")
-endif()
-
-if (NOT TFM_NS_MANAGE_NSID)
-    set(TEST_NS_MANAGE_NSID     OFF        CACHE BOOL      "Whether to build NS regression NSID management tests")
-endif()
-
-if (CONFIG_TFM_FLOAT_ABI STREQUAL "soft")
-    set(TEST_S_FPU                       OFF        CACHE BOOL      "Whether to build S regression FPU tests")
-    set(TEST_NS_FPU                      OFF        CACHE BOOL      "Whether to build NS regression FPU tests")
-endif()
-
-########################## SLIH/FLIH IRQ Test ##################################
-
-# Make FLIH IRQ test as the default IRQ test
-if (PLATFORM_FLIH_IRQ_TEST_SUPPORT
-    AND TEST_NS AND NOT TEST_NS_SLIH_IRQ)
-    set(TEST_NS_FLIH_IRQ        ON        CACHE BOOL      "Whether to build NS regression First-Level Interrupt Handling tests")
-endif()
-
-if (PLATFORM_SLIH_IRQ_TEST_SUPPORT
-    AND TEST_NS AND NOT TEST_NS_FLIH_IRQ)
-    set(TEST_NS_SLIH_IRQ        ON        CACHE BOOL      "Whether to build NS regression Second-Level Interrupt Handling tests")
-endif()
-
-############################ IPC backend test ##################################
-if (CONFIG_TFM_SPM_BACKEND_IPC AND TEST_NS)
-    set(TEST_NS_IPC             ON        CACHE BOOL      "Whether to build NS regression SFN backend tests")
-endif()
-
-if (CONFIG_TFM_SPM_BACKEND_IPC AND TEST_S)
-    set(TEST_S_IPC              ON        CACHE BOOL      "Whether to build NS regression SFN backend tests")
-endif()
-
-############################ SFN backend test ##################################
-
-if (CONFIG_TFM_SPM_BACKEND_SFN AND TEST_NS)
-    set(TEST_NS_SFN_BACKEND     ON        CACHE BOOL      "Whether to build NS regression SFN backend tests")
-endif()
-
-if (CONFIG_TFM_SPM_BACKEND_SFN AND TEST_S)
-    set(TEST_S_SFN_BACKEND      ON        CACHE BOOL      "Whether to build S regression SFN backend tests")
-endif()
-
-########################## Load default config #################################
-
-if (TEST_S)
-    include(${TFM_TEST_REPO_PATH}/test/config/default_s_test_config.cmake)
-endif()
-if (TEST_NS)
-include(${TFM_TEST_REPO_PATH}/test/config/default_ns_test_config.cmake)
-endif()
-
-###################### Test Partition configurations ###########################
-if (TEST_NS_IPC OR TEST_S_IPC)
-    set(TFM_PARTITION_IPC_TEST  ON)
-else()
-    set(TFM_PARTITION_IPC_TEST  OFF)
-endif()
-
-if (TEST_NS_SFN_BACKEND OR TEST_S_SFN_BACKEND)
-    set(TFM_PARTITION_SFN_BACKEND_TEST  ON)
-else()
-    set(TFM_PARTITION_SFN_BACKEND_TEST  OFF)
-endif()
-
-# Enable FPU test partition if S or NS FP test enabled
-if (TEST_S_FPU OR TEST_NS_FPU)
-    set(TEST_PARTITION_FPU_TEST        ON)
-else()
-    set(TEST_PARTITION_FPU_TEST        OFF)
-endif()
diff --git a/tests_reg/test/secure_fw/suites/fpu/service/CMakeLists.txt b/tests_reg/test/secure_fw/suites/fpu/service/CMakeLists.txt
index c95f684..57c96a3 100644
--- a/tests_reg/test/secure_fw/suites/fpu/service/CMakeLists.txt
+++ b/tests_reg/test/secure_fw/suites/fpu/service/CMakeLists.txt
@@ -65,6 +65,6 @@
 
 target_compile_definitions(tfm_config
     INTERFACE
-        TEST_PARTITION_FPU_TEST
+        TFM_PARTITION_FPU_TEST
 )
 
diff --git a/tests_reg/test/secure_fw/tfm_test_manifest_list.yaml b/tests_reg/test/secure_fw/tfm_test_manifest_list.yaml
index 857c865..b275c39 100644
--- a/tests_reg/test/secure_fw/tfm_test_manifest_list.yaml
+++ b/tests_reg/test/secure_fw/tfm_test_manifest_list.yaml
@@ -17,7 +17,6 @@
       "description": "TFM Secure Client Partition",
       "manifest": "common_test_services/tfm_secure_client_service/tfm_secure_client_service.yaml",
       "output_path": "secure_fw/test_services/tfm_secure_client_service",
-      "conditional": "TFM_S_REG_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3002,
@@ -61,7 +60,7 @@
       "description": "TF-M PS Test Partition",
       "manifest": "suites/ps/service/tfm_ps_test_service.yaml",
       "output_path": "secure_fw/test_services/tfm_ps_test_service",
-      "conditional": "TEST_S_PS",
+      "conditional": "TFM_PARTITION_PS_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3005,
@@ -75,7 +74,6 @@
       "description": "TF-M Secure Client 2 Partition",
       "manifest": "common_test_services/tfm_secure_client_2/tfm_secure_client_2.yaml",
       "output_path": "secure_fw/test_services/tfm_secure_client_2",
-      "conditional": "TFM_S_REG_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3006,
@@ -90,7 +88,7 @@
       "description": "TFM SLIH Test Partition",
       "manifest": "suites/spm/irq/service/tfm_slih_test_service/tfm_slih_test_service.yaml",
       "output_path": "secure_fw/test_services/tfm_slih_test_service",
-      "conditional": "TEST_NS_SLIH_IRQ",
+      "conditional": "TFM_PARTITION_SLIH_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3008,
@@ -104,7 +102,7 @@
       "description": "TFM FLIH Test Partition",
       "manifest": "suites/spm/irq/service/tfm_flih_test_service/tfm_flih_test_service.yaml",
       "output_path": "secure_fw/test_services/tfm_flih_test_service",
-      "conditional": "TEST_NS_FLIH_IRQ",
+      "conditional": "TFM_PARTITION_FLIH_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3009,
@@ -118,7 +116,7 @@
       "description": "TFM FPU Test Partition",
       "manifest": "suites/fpu/service/tfm_fpu_service_test.yaml",
       "output_path": "secure_fw/test_services/tfm_fpu_service",
-      "conditional": "TEST_PARTITION_FPU_TEST",
+      "conditional": "TFM_PARTITION_FPU_TEST",
       "version_major": 0,
       "version_minor": 1,
       "pid": 3010,