Test: Enable NSID tests

Enable NSID tests when both TFM_NS_MANAGE_NSID and TEST_NS are enabled.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I863338f302228bfd9cd95da34ab1939037f64e73
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 9613494..abd6865 100755
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -70,6 +70,7 @@
         $<$<BOOL:${TFM_PSA_API}>:TFM_PSA_API>
         $<$<STREQUAL:${TEST_PSA_API},IPC>:PSA_API_TEST_IPC>
         $<$<BOOL:${TFM_NS_MANAGE_NSID}>:TFM_NS_MANAGE_NSID>
+        $<$<BOOL:${TEST_NS_MANAGE_NSID}>:TEST_NS_MANAGE_NSID>
         $<$<BOOL:${TFM_MULTI_CORE_TOPOLOGY}>:TFM_MULTI_CORE_TOPOLOGY>
         $<$<BOOL:${TFM_MULTI_CORE_NS_OS}>:TFM_MULTI_CORE_NS_OS>
         $<$<AND:$<BOOL:${TFM_MULTI_CORE_NS_OS_MAILBOX_THREAD}>,$<BOOL:${TFM_MULTI_CORE_NS_OS}>>:TFM_MULTI_CORE_NS_OS_MAILBOX_THREAD>
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
old mode 100644
new mode 100755
index 01b3bd9..7d568d2
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -34,6 +34,7 @@
 add_subdirectory(suites/platform)
 add_subdirectory(suites/fwu)
 add_subdirectory(suites/irq)
+add_subdirectory(suites/nsid)
 
 if(TFM_PSA_API)
     add_subdirectory(suites/ipc)
diff --git a/test/config/check_config.cmake b/test/config/check_config.cmake
index 6d3084e..46dd60f 100644
--- a/test/config/check_config.cmake
+++ b/test/config/check_config.cmake
@@ -25,6 +25,7 @@
 message(STATUS "TEST_NS_SLIH_IRQ is set as ${TEST_NS_SLIH_IRQ}")
 message(STATUS "TEST_NS_FLIH_IRQ is set as ${TEST_NS_FLIH_IRQ}")
 message(STATUS "TEST_NS_MULTI_CORE is set as ${TEST_NS_MULTI_CORE}")
+message(STATUS "TEST_NS_MANAGE_NSID is set as ${TEST_NS_MANAGE_NSID}")
 message(STATUS "TEST_S_ATTESTATION is set as ${TEST_S_ATTESTATION}")
 message(STATUS "TEST_S_AUDIT is set as ${TEST_S_AUDIT}")
 message(STATUS "TEST_S_CRYPTO is set as ${TEST_S_CRYPTO}")
@@ -48,6 +49,7 @@
 tfm_invalid_config((TFM_LIB_MODEL) AND (TEST_NS_IPC OR TEST_S_IPC OR TEST_NS_SLIH_IRQ OR TEST_NS_FLIH_IRQ))
 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)
 
 ########################## Check Framework #####################################
 
diff --git a/test/config/default_ns_test_config.cmake b/test/config/default_ns_test_config.cmake
index e0ff37c..5c46f0b 100644
--- a/test/config/default_ns_test_config.cmake
+++ b/test/config/default_ns_test_config.cmake
@@ -25,3 +25,4 @@
 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_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")
diff --git a/test/config/default_test_config.cmake b/test/config/default_test_config.cmake
index 1e1080b..7924e77 100644
--- a/test/config/default_test_config.cmake
+++ b/test/config/default_test_config.cmake
@@ -25,6 +25,7 @@
 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_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")
 
 ########################## S test framework ####################################
 
diff --git a/test/config/set_config.cmake b/test/config/set_config.cmake
index b7e9371..452af12 100644
--- a/test/config/set_config.cmake
+++ b/test/config/set_config.cmake
@@ -63,6 +63,10 @@
     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()
+
 ########################## Test framework sync #################################
 
 get_cmake_property(CACHE_VARS CACHE_VARIABLES)
diff --git a/test/framework/non_secure_suites.c b/test/framework/non_secure_suites.c
old mode 100644
new mode 100755
index 8424d91..4f6f5f4
--- a/test/framework/non_secure_suites.c
+++ b/test/framework/non_secure_suites.c
@@ -50,6 +50,9 @@
 #ifdef TFM_FUZZER_TOOL_TESTS
 #include "tf_fuzz_testsuite.h"
 #endif /* TFM_FUZZER_TOOL_TESTS */
+#ifdef TEST_NS_MANAGE_NSID
+#include "nsid_testsuite.h"
+#endif /* TEST_NS_MANAGE_NSID */
 #if defined(TEST_NS_SLIH_IRQ) || defined(TEST_NS_FLIH_IRQ)
 #include "irq_testsuite.h"
 #endif
@@ -128,6 +131,10 @@
     {&register_testsuite_tf_fuzz_test, 0, 0, 0},
 #endif /* TFM_FUZZER_TOOL_TESTS */
 
+#ifdef TEST_NS_MANAGE_NSID
+    {&register_testsuite_nsid_test, 0, 0, 0},
+#endif /* TEST_NS_MANAGE_NSID */
+
 #if defined(TEST_NS_SLIH_IRQ) || defined(TEST_NS_FLIH_IRQ)
     {&register_testsuite_irq_test, 0, 0, 0},
 #endif