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/common/env_test_tests.h b/deployments/env-test/common/env_test_tests.h
deleted file mode 100644
index 305fc45..0000000
--- a/deployments/env-test/common/env_test_tests.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef ENV_TEST_TESTS_H
-#define ENV_TEST_TESTS_H
-
-struct test_runner_provider;
-
-/**
- * Registers test cases for this deployment
- */
-void env_test_register_tests(struct test_runner_provider *context);
-
-
-#endif /* ENV_TEST_TESTS_H */
diff --git a/deployments/env-test/opteesp/CMakeLists.txt b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
similarity index 78%
copy from deployments/env-test/opteesp/CMakeLists.txt
copy to deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
index 4b3a246..1273a2b 100644
--- a/deployments/env-test/opteesp/CMakeLists.txt
+++ b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
@@ -8,14 +8,13 @@
# Set default platform.
set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
# The CMakeLists.txt for building the env-test deployment for opteesp
#
-# Builds the test_runner service provider for running in an SEL0 secure partition
-# hosted by OPTEE in the role of SPM. Environment tests are added and CppUnit
-# test cases.
+# Builds the test_runner service provider with a set of baremetal drivers
+# and test cases for testing drivers from within an SEL0 SP.
#-------------------------------------------------------------------------------
include(${TS_ROOT}/environments/opteesp/env.cmake)
project(trusted-services LANGUAGES C ASM)
@@ -30,29 +29,23 @@
SP_NAME "env-test"
)
+target_include_directories(env-test PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}
+)
+
#-------------------------------------------------------------------------------
-# Components that are env-test specific to deployment in the opteesp
-# environment.
+# Deployment specific components
+#
#-------------------------------------------------------------------------------
add_components(TARGET "env-test"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/fdt"
- "components/common/trace"
- "components/common/utils"
- "components/config/loader/sp"
- "components/messaging/ffa/libsp"
- "components/rpc/ffarpc/endpoint"
- "components/config/test/sp"
"environments/opteesp"
)
-#-------------------------------------------------------------------------------
-# Extend with components that are common across all deployments of
-# env-test
-#
-#-------------------------------------------------------------------------------
-include(../env-test.cmake REQUIRED)
+include(../../env/commonsp/env_test_sp.cmake REQUIRED)
+include(../../env-test.cmake REQUIRED)
+include(../../suites/baremetal-tests.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -60,16 +53,13 @@
#-------------------------------------------------------------------------------
add_platform(TARGET env-test)
-#################################################################
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(env-test PRIVATE
ARM64=1
)
-target_include_directories(env-test PRIVATE
- ${TS_ROOT}/deployments/env-test/opteesp
-)
-
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(env-test PRIVATE
-std=c99
@@ -78,7 +68,9 @@
compiler_generate_stripped_elf(TARGET env-test NAME "${SP_UUID_CANON}.stripped.elf" RES STRIPPED_ELF)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/env-test/opteesp/default_env-test.dts.in b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/default_env-test.dts.in
similarity index 100%
copy from deployments/env-test/opteesp/default_env-test.dts.in
copy to deployments/env-test/config/baremetal-fvp_base_revc-opteesp/default_env-test.dts.in
diff --git a/deployments/env-test/opteesp/optee_sp_user_defines.h b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/optee_sp_user_defines.h
similarity index 100%
copy from deployments/env-test/opteesp/optee_sp_user_defines.h
copy to deployments/env-test/config/baremetal-fvp_base_revc-opteesp/optee_sp_user_defines.h
diff --git a/deployments/env-test/sp/CMakeLists.txt b/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
similarity index 75%
rename from deployments/env-test/sp/CMakeLists.txt
rename to deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
index 99aa8f8..85e325f 100644
--- a/deployments/env-test/sp/CMakeLists.txt
+++ b/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
@@ -8,15 +8,13 @@
# Set default platform.
set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
-# The CMakeLists.txt for building the env-test deployment for generic sp
-# environment.
+# The CMakeLists.txt for building the env-test deployment for sp
#
-# Builds the test_runner service provider for running in an SEL0 secure
-# partition hosted by any SPM. Environment tests are added and CppUnit test
-# cases.
+# Builds the test_runner service provider with a set of baremetal drivers
+# and test cases for testing drivers from within an SEL0 SP.
#-------------------------------------------------------------------------------
include(${TS_ROOT}/environments/sp/env.cmake)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type")
@@ -30,33 +28,29 @@
set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
+#-------------------------------------------------------------------------------
+# Components that are specific to deployment in the opteesp environment.
+#
+#-------------------------------------------------------------------------------
add_components(TARGET "env-test"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/trace"
- "components/common/utils"
- "components/config/loader/sp"
- "components/messaging/ffa/libsp"
- "components/rpc/ffarpc/endpoint"
- "components/config/test/sp"
- "environments/sp"
+ environments/sp
)
-#-------------------------------------------------------------------------------
-# Extend with components that are common across all deployments of
-# env-test
-#
-#-------------------------------------------------------------------------------
-include(../env-test.cmake REQUIRED)
+include(../../env/commonsp/env_test_sp.cmake REQUIRED)
+include(../../env-test.cmake REQUIRED)
+include(../../suites/baremetal-tests.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
#
#-------------------------------------------------------------------------------
-add_platform(TARGET env-test)
+add_platform(TARGET "env-test")
-#################################################################
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(env-test PRIVATE
ARM64=1
)
@@ -74,7 +68,9 @@
include(${TS_ROOT}/tools/cmake/common/ExportMemoryRegionsToManifest.cmake REQUIRED)
export_memory_regions_to_manifest(TARGET env-test NAME "${SP_UUID_CANON}_memory_regions.dtsi" RES EXPORT_MEMORY_REGIONS_DTSI)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/env-test/sp/default_env-test.dts.in b/deployments/env-test/config/baremetal-fvp_base_revc-sp/default_env-test.dts.in
similarity index 98%
rename from deployments/env-test/sp/default_env-test.dts.in
rename to deployments/env-test/config/baremetal-fvp_base_revc-sp/default_env-test.dts.in
index 44a2dac..ced902c 100644
--- a/deployments/env-test/sp/default_env-test.dts.in
+++ b/deployments/env-test/config/baremetal-fvp_base_revc-sp/default_env-test.dts.in
@@ -3,9 +3,7 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*/
-
@DTS_TAG@
-
@DTS_NODE@ {
compatible = "arm,ffa-manifest-1.0";
ffa-version = <0x00010000>; /* 31:16 - Major, 15:0 - Minor */
@@ -16,12 +14,9 @@
execution-state = <0>; /* AArch64 */
xlat-granule = <0>; /* 4KiB */
messaging-method = <3>; /* Direct messaging only */
-
memory-regions {
compatible = "arm,ffa-manifest-memory-regions";
-
#include "@EXPORT_DTS_MEM_REGIONS@"
-
/* Without optional base-address */
test-memory {
description = "test-memory";
@@ -29,10 +24,8 @@
attributes = <0x7>; /* read-write-execute */
};
};
-
device-regions {
compatible = "arm,ffa-manifest-device-regions";
-
trng {
/* Armv8 A Foundation Platform values */
base-address = <0x00000000 0x7fe60000>;
@@ -40,10 +33,8 @@
attributes = <0x3>; /* read-write */
};
};
-
boot-params {
compatible = "arm,ffa-manifest-boot-params";
-
event-log {
param = "EVENT_LOG"; /* The init parameter name */
tag = "arm,event-log"; /* Object identifier */
diff --git a/deployments/env-test/opteesp/CMakeLists.txt b/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
similarity index 83%
rename from deployments/env-test/opteesp/CMakeLists.txt
rename to deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
index 4b3a246..68758e4 100644
--- a/deployments/env-test/opteesp/CMakeLists.txt
+++ b/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
@@ -8,7 +8,7 @@
# Set default platform.
set(TS_PLATFORM "arm/fvp/fvp_base_revc-2xaemv8a" CACHE STRING "Target platform location.")
-include(../../deployment.cmake REQUIRED)
+include(../../../deployment.cmake REQUIRED)
#-------------------------------------------------------------------------------
# The CMakeLists.txt for building the env-test deployment for opteesp
@@ -30,29 +30,23 @@
SP_NAME "env-test"
)
+target_include_directories(env-test PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}
+)
+
#-------------------------------------------------------------------------------
-# Components that are env-test specific to deployment in the opteesp
-# environment.
+# Deployment specific components
+#
#-------------------------------------------------------------------------------
add_components(TARGET "env-test"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/fdt"
- "components/common/trace"
- "components/common/utils"
- "components/config/loader/sp"
- "components/messaging/ffa/libsp"
- "components/rpc/ffarpc/endpoint"
- "components/config/test/sp"
"environments/opteesp"
)
-#-------------------------------------------------------------------------------
-# Extend with components that are common across all deployments of
-# env-test
-#
-#-------------------------------------------------------------------------------
-include(../env-test.cmake REQUIRED)
+include(../../env/commonsp/env_test_sp.cmake REQUIRED)
+include(../../env-test.cmake REQUIRED)
+include(../../suites/edk2-platform-tests.cmake REQUIRED)
#-------------------------------------------------------------------------------
# Set target platform to provide drivers needed by the deployment
@@ -60,16 +54,13 @@
#-------------------------------------------------------------------------------
add_platform(TARGET env-test)
-#################################################################
-
+#-------------------------------------------------------------------------------
+# Deployment specific build options
+#-------------------------------------------------------------------------------
target_compile_definitions(env-test PRIVATE
ARM64=1
)
-target_include_directories(env-test PRIVATE
- ${TS_ROOT}/deployments/env-test/opteesp
-)
-
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
target_compile_options(env-test PRIVATE
-std=c99
@@ -78,7 +69,9 @@
compiler_generate_stripped_elf(TARGET env-test NAME "${SP_UUID_CANON}.stripped.elf" RES STRIPPED_ELF)
-######################################## install
+#-------------------------------------------------------------------------------
+# Deployment specific install options
+#-------------------------------------------------------------------------------
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
endif()
diff --git a/deployments/env-test/opteesp/default_env-test.dts.in b/deployments/env-test/config/n1sdp-opteesp/default_env-test.dts.in
similarity index 100%
rename from deployments/env-test/opteesp/default_env-test.dts.in
rename to deployments/env-test/config/n1sdp-opteesp/default_env-test.dts.in
diff --git a/deployments/env-test/opteesp/optee_sp_user_defines.h b/deployments/env-test/config/n1sdp-opteesp/optee_sp_user_defines.h
similarity index 100%
rename from deployments/env-test/opteesp/optee_sp_user_defines.h
rename to deployments/env-test/config/n1sdp-opteesp/optee_sp_user_defines.h
diff --git a/deployments/env-test/env-test.cmake b/deployments/env-test/env-test.cmake
index cf75d90..c81810c 100644
--- a/deployments/env-test/env-test.cmake
+++ b/deployments/env-test/env-test.cmake
@@ -19,45 +19,19 @@
TARGET "env-test"
BASE_DIR ${TS_ROOT}
COMPONENTS
- "components/common/fdt"
"components/common/tlv"
- "components/config/ramstore"
"components/rpc/common/interface"
- "components/rpc/common/caller"
"components/service/common/include"
- "components/service/common/client"
"components/service/common/provider"
"components/service/test_runner/provider"
"components/service/test_runner/provider/serializer/packed-c"
"components/service/test_runner/provider/backend/null"
"components/service/test_runner/provider/backend/simple_c"
- "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"
"protocols/rpc/common/packed-c"
)
-#-------------------------------------------------------------------------------
-# Deployment specific source files
-#-------------------------------------------------------------------------------
-target_sources(env-test PRIVATE
- ${CMAKE_CURRENT_LIST_DIR}/common/env_test.c
- ${CMAKE_CURRENT_LIST_DIR}/common/env_test_tests.c
-)
-
target_include_directories(env-test PRIVATE
${TS_ROOT}
${TS_ROOT}/components
)
-#-------------------------------------------------------------------------------
-# Components used from external projects
-#
-#-------------------------------------------------------------------------------
-
-# Mbed TLS provides libmbedcrypto
-include(${TS_ROOT}/external/MbedTLS/MbedTLS.cmake)
-target_link_libraries(env-test PRIVATE mbedcrypto)
diff --git a/deployments/env-test/common/env_test.c b/deployments/env-test/env/commonsp/env_test_sp.c
similarity index 95%
rename from deployments/env-test/common/env_test.c
rename to deployments/env-test/env/commonsp/env_test_sp.c
index 2754ebf..3b1f472 100644
--- a/deployments/env-test/common/env_test.c
+++ b/deployments/env-test/env/commonsp/env_test_sp.c
@@ -3,7 +3,6 @@
* Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
*/
-#include "rpc/ffarpc/caller/sp/ffarpc_caller.h"
#include "rpc/ffarpc/endpoint/ffarpc_call_ep.h"
#include "service/test_runner/provider/test_runner_provider.h"
#include "service/test_runner/provider/serializer/packed-c/packedc_test_runner_provider_serializer.h"
@@ -15,7 +14,7 @@
#include "sp_discovery.h"
#include "sp_rxtx.h"
#include "trace.h"
-#include "env_test_tests.h"
+#include "deployments/env-test/suites/registration/env_test_register.h"
static bool sp_init(uint16_t *own_sp_id);
@@ -24,7 +23,6 @@
struct test_runner_provider test_runner_provider = { 0 };
struct ffa_call_ep ffarpc_call_ep = { 0 };
struct rpc_interface *test_runner_iface = NULL;
- struct ffarpc_caller ffarpc_caller = { 0 };
struct sp_msg req_msg = { 0 };
struct sp_msg resp_msg = { 0 };
uint16_t own_id = 0;
diff --git a/deployments/env-test/env/commonsp/env_test_sp.cmake b/deployments/env-test/env/commonsp/env_test_sp.cmake
new file mode 100644
index 0000000..df57ef2
--- /dev/null
+++ b/deployments/env-test/env/commonsp/env_test_sp.cmake
@@ -0,0 +1,29 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+# Includes components needed for deploying the env-test service provider
+# within a secure partition.
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# Common components for env-test sp deployments
+#
+#-------------------------------------------------------------------------------
+add_components(TARGET "env-test"
+ BASE_DIR ${TS_ROOT}
+ COMPONENTS
+ "components/common/fdt"
+ "components/common/trace"
+ "components/common/utils"
+ "components/config/ramstore"
+ "components/config/loader/sp"
+ "components/messaging/ffa/libsp"
+ "components/rpc/common/interface"
+ "components/rpc/ffarpc/endpoint"
+)
+
+target_sources(env-test PRIVATE
+ ${CMAKE_CURRENT_LIST_DIR}/env_test_sp.c
+)
diff --git a/deployments/env-test/common/env_test.h b/deployments/env-test/env/commonsp/env_test_sp.h
similarity index 100%
rename from deployments/env-test/common/env_test.h
rename to deployments/env-test/env/commonsp/env_test_sp.h
diff --git a/deployments/env-test/opteesp/.gitignore b/deployments/env-test/opteesp/.gitignore
deleted file mode 100644
index 378eac2..0000000
--- a/deployments/env-test/opteesp/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-build
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/common/env_test_tests.c b/deployments/env-test/suites/registration/baremetal_tests.c
similarity index 64%
rename from deployments/env-test/common/env_test_tests.c
rename to deployments/env-test/suites/registration/baremetal_tests.c
index 11c1f42..5c01999 100644
--- a/deployments/env-test/common/env_test_tests.c
+++ b/deployments/env-test/suites/registration/baremetal_tests.c
@@ -1,12 +1,16 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ * 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);
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 */