Refactor env-test deployment structure
Modifies the env_test deployment build and directory structure to
allow for different build configurations with different test suites.
Added a place-holder configuration for n1sdp to enable test cases
to be added for drivers reused from edk2-platforms.
Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I7a7a7cf811ae224ec75a83ae200f897bef84e5ae
diff --git a/deployments/env-test/suites/baremetal-tests.cmake b/deployments/env-test/suites/baremetal-tests.cmake
new file mode 100644
index 0000000..6591719
--- /dev/null
+++ b/deployments/env-test/suites/baremetal-tests.cmake
@@ -0,0 +1,43 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Baremetal driver test cases to test paltform driver operation from within
+# a secure execution environment.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Components-under-test and test cases baremetal platform tests.
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "env-test"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/service/crypto/backend/mbedcrypto"
+ "components/service/crypto/backend/mbedcrypto/trng_adapter/platform"
+ "components/service/crypto/backend/mbedcrypto/trng_adapter/test"
+ "components/service/secure_storage/include"
+ "components/service/secure_storage/frontend/psa/its"
+ "components/service/secure_storage/backend/secure_storage_client"
+ "components/config/test/sp"
+)
+
+target_sources(env-test PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/registration/baremetal_tests.c
+)
+
+#-------------------------------------------------------------------------------
+# Components used from external projects
+#
+#-------------------------------------------------------------------------------
+
+# Mbed TLS provides libmbedcrypto
+include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
+target_link_libraries(env-test PRIVATE mbedcrypto)
+
+#-------------------------------------------------------------------------------
+# This test suite depends on platform specific drivers
+#
+#-------------------------------------------------------------------------------
+add_platform(TARGET "env-test")
\ No newline at end of file
diff --git a/deployments/env-test/suites/edk2-platform-tests.cmake b/deployments/env-test/suites/edk2-platform-tests.cmake
new file mode 100644
index 0000000..dab56ed
--- /dev/null
+++ b/deployments/env-test/suites/edk2-platform-tests.cmake
@@ -0,0 +1,27 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Test for drivers reused from edk2-platforms
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Components-under-test and test cases edk2 platform tests.
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "env-test"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/config/test/sp"
+)
+
+target_sources(env-test PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/registration/edk2_platform_tests.c
+)
+
+#-------------------------------------------------------------------------------
+# This test suite depends on platform specific drivers
+#
+#-------------------------------------------------------------------------------
+add_platform(TARGET "env-test")
\ No newline at end of file
diff --git a/deployments/env-test/suites/registration/baremetal_tests.c b/deployments/env-test/suites/registration/baremetal_tests.c
new file mode 100644
index 0000000..5c01999
--- /dev/null
+++ b/deployments/env-test/suites/registration/baremetal_tests.c
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+#include <service/test_runner/provider/backend/simple_c/simple_c_test_runner.h>
+#include <config/test/sp/sp_config_tests.h>
+#include <service/crypto/backend/mbedcrypto/trng_adapter/test/trng_env_tests.h>
+
+/**
+ * Register tests that constitute the 'baremetal-tests' suite. Used for testing
+ * platform drivers that conform to the 'baremetal' driver model.
+ */
+void env_test_register_tests(struct test_runner_provider *context)
+{
+ simple_c_test_runner_init(context);
+
+ sp_config_tests_register();
+ trng_env_tests_register();
+}
diff --git a/deployments/env-test/suites/registration/edk2_platform_tests.c b/deployments/env-test/suites/registration/edk2_platform_tests.c
new file mode 100644
index 0000000..7b0fa44
--- /dev/null
+++ b/deployments/env-test/suites/registration/edk2_platform_tests.c
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+ */
+
+#include <service/test_runner/provider/backend/simple_c/simple_c_test_runner.h>
+#include <config/test/sp/sp_config_tests.h>
+
+/**
+ * Register tests that constitute the 'edk2-platform-tests' suite. Used for testing
+ * platform drivers that conform to the 'edk2 (UEFI)' driver model.
+ */
+void env_test_register_tests(struct test_runner_provider *context)
+{
+ simple_c_test_runner_init(context);
+
+ sp_config_tests_register();
+}
diff --git a/deployments/env-test/suites/registration/env_test_register.h b/deployments/env-test/suites/registration/env_test_register.h
new file mode 100644
index 0000000..d455f5a
--- /dev/null
+++ b/deployments/env-test/suites/registration/env_test_register.h
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef ENV_TEST_REGISTER_H
+#define ENV_TEST_REGISTER_H
+
+struct test_runner_provider;
+
+/**
+ * Registers test cases for this deployment
+ */
+void env_test_register_tests(struct test_runner_provider *context);
+
+
+#endif /* ENV_TEST_REGISTER_H */