diff options
author | Sarah Blades <sarah.blades@arm.com> | 2022-10-03 16:38:23 +0100 |
---|---|---|
committer | Sarah Blades <sarah.blades@arm.com> | 2022-10-03 17:17:45 +0100 |
commit | 0048144db8c29822ccb1e1a95ef9a1c9dca154b0 (patch) | |
tree | b59ff1e556a7d7ac29de62504857aa500f584a54 /scripts/cmake | |
parent | 8b0455c06a91da33a9a3714c2a5d2e1062048845 (diff) | |
download | ml-embedded-evaluation-kit-0048144db8c29822ccb1e1a95ef9a1c9dca154b0.tar.gz |
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>
Diffstat (limited to 'scripts/cmake')
-rw-r--r-- | scripts/cmake/common_user_options.cmake | 11 | ||||
-rw-r--r-- | scripts/cmake/platforms/mps3/build_configuration.cmake | 22 |
2 files changed, 33 insertions, 0 deletions
diff --git a/scripts/cmake/common_user_options.cmake b/scripts/cmake/common_user_options.cmake index 7a0b068..008d8f0 100644 --- a/scripts/cmake/common_user_options.cmake +++ b/scripts/cmake/common_user_options.cmake @@ -150,5 +150,16 @@ if (NOT TARGET_PLATFORM STREQUAL native) ${DEFAULT_TA_CONFIG_FILE_PATH} FILEPATH) endif() + + USER_OPTION(BUILD_FVP_TESTS "Build tests for CTest driven FVP runs for built applications" + OFF + BOOL) + + if (BUILD_FVP_TESTS) + USER_OPTION(FVP_PATH "Path to FVP for verifying execution" + "" + FILEPATH) + endif() + endif() endif() 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 @@ function(platform_custom_post_build) 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() |