MLECO-3149: Add CTest driven FVP runs for non-native targets.
Additional CMake configuration parameters required:
* `BUILD_FVP_TESTS`: Selects whether these tests are built, OFF by default.
* `FVP_PATH`: Path to the FVP that MUST be provided for the configuration to succeed.
Change-Id: I741379cd0a6078a3e2c3163e6b253b2f5dc25c58
Signed-off-by: Sarah Blades <sarah.blades@arm.com>
diff --git a/scripts/cmake/platforms/mps3/build_configuration.cmake b/scripts/cmake/platforms/mps3/build_configuration.cmake
index 7bed48d..f8d4cf1 100644
--- a/scripts/cmake/platforms/mps3/build_configuration.cmake
+++ b/scripts/cmake/platforms/mps3/build_configuration.cmake
@@ -86,4 +86,26 @@
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${MPS3_FPGA_CONFIG} ${SECTORS_DIR})
+ # Add tests for application on FVP if FVP path specified
+ if (BUILD_FVP_TESTS)
+
+ # Build for all use cases if USE_SINGLE_INPUT as no telnet interaction required
+ # otherwise only build for inference runner
+ if ((USE_SINGLE_INPUT) OR (${use_case} STREQUAL "inference_runner"))
+ set(AXF_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PARSED_TARGET_NAME}.axf")
+ set(TEST_TARGET_NAME "${use_case}_fvp_test")
+
+ message(STATUS "Adding FVP test for ${use_case}")
+
+ add_test(
+ NAME "${TEST_TARGET_NAME}"
+ COMMAND ${FVP_PATH} -a ${AXF_PATH}
+ -C mps3_board.telnetterminal0.start_telnet=0
+ -C mps3_board.uart0.out_file='-'
+ -C mps3_board.uart0.shutdown_on_eot=1
+ -C mps3_board.visualisation.disable-visualisation=1
+ --stat)
+ endif()
+ endif ()
+
endfunction()