File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,6 +24,10 @@ include(cmake/CompilerOptions.cmake)
2424include (cmake/CPM.cmake )
2525include (cmake/dependencies.cmake )
2626
27+ if (PROTEA_BUILD_TESTS)
28+ enable_testing ()
29+ endif ()
30+
2731add_subdirectory (lib )
2832add_subdirectory (sim_lib )
2933add_subdirectory (sim_gen )
Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ PRESET_NAME=$1
22
33# Configure CMake
44cmake -S . \
5- --preset " ${PRESET_NAME} " -DPROTEA_BUILD_TESTS=true -DQEMU_PATH=qemu-riscv32 - G Ninja
5+ --preset " ${PRESET_NAME} " -G Ninja
66
77# Build
8- cmake --build --preset ${PRESET_NAME} --target all --parallel 12
8+ cmake --build --preset ${PRESET_NAME} --target install --parallel 12
Original file line number Diff line number Diff line change 11PRESET_NAME=$1
22
3+ # Configure CMake
4+ cmake -S . \
5+ --preset " ${PRESET_NAME} " -DPROTEA_BUILD_TESTS=true -DQEMU_PATH=qemu-riscv32 -G Ninja
6+
7+ # Generate tests
8+ cmake --build --preset ${PRESET_NAME} --target install --parallel 12
9+
310# Run tests
4- cmake --build --preset ${PRESET_NAME} --target simtests
11+ ctest -j16
Original file line number Diff line number Diff line change 1+ if (NOT EXISTS "@OUTPUT_TESTS_DIR@" )
2+ message (STATUS "Test directory does not exist yet: @OUTPUT_TESTS_DIR@" )
3+ return ()
4+ endif ()
5+
6+ file (GLOB discovered_tests "@OUTPUT_TESTS_DIR@/*" )
7+
8+ if (NOT discovered_tests)
9+ message (STATUS "No generated tests found in @OUTPUT_TESTS_DIR@" )
10+ endif ()
11+
12+ foreach (test_file IN LISTS discovered_tests)
13+ if (IS_DIRECTORY "${test_file} " )
14+ continue ()
15+ endif ()
16+
17+ get_filename_component (test_name "${test_file} " NAME )
18+
19+ add_test (
20+ "@PROJECT_NAME@.${test_name} "
21+ "@GENERATED_SIM_BIN_PATH@" --propagate-exit "${test_file} "
22+ )
23+ endforeach ()
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ if(PROTEA_BUILD_TESTS)
1313 endif ()
1414
1515 set (TESTS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /CImpl)
16+ set (OUTPUT_TESTS_DIR ${CMAKE_CURRENT_BINARY_DIR} /CImpl/bin)
1617 set (GENERATED_SIM_BIN_PATH ${protea_simgen_BINARY_DIR} /sim)
1718
1819 ExternalProject_Add (
@@ -26,8 +27,12 @@ if(PROTEA_BUILD_TESTS)
2627
2728 set (RunTests ${tests-common_SOURCE_DIR }/RunTests.py)
2829
29- add_custom_target (${PROJECT_NAME}
30- COMMAND ${Python3_EXECUTABLE} ${RunTests} ${GENERATED_SIM_BIN_PATH} ${TESTS_BINARY_DIR} /bin/
31- COMMENT "Running ${PROJECT_NAME} " )
32- add_dependencies (${PROJECT_NAME} sim c-simtestsimpl )
30+ set (DISCOVER_SCRIPT "${CMAKE_CURRENT_BINARY_DIR} /discover_generated_tests.cmake" )
31+ configure_file (
32+ "${CMAKE_SOURCE_DIR} /cmake/discover_generated_tests.cmake.in"
33+ "${DISCOVER_SCRIPT} "
34+ @ONLY
35+ )
36+
37+ set_property (DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "${DISCOVER_SCRIPT} " )
3338endif ()
Original file line number Diff line number Diff line change 11project (simtests)
22
3- add_subdirectory (Common )
4-
53add_subdirectory (C )
64add_subdirectory (SnippetBased )
75
8- add_custom_target (${PROJECT_NAME} )
9- add_dependencies (${PROJECT_NAME} c-simtests snippetbased-simtests )
6+ if (PROTEA_BUILD_TESTS)
7+ add_custom_target (${PROJECT_NAME} )
8+ add_dependencies (${PROJECT_NAME} c-simtestsimpl snippetbased-simtestsimpl )
9+ endif ()
Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -29,9 +29,13 @@ if(PROTEA_BUILD_TESTS)
2929
3030 add_dependencies (snippetbased-simtestsimpl protea_irgen sim )
3131
32- add_custom_target (${PROJECT_NAME}
33- COMMAND ${Python3_EXECUTABLE} ${RunTests} ${GENERATED_SIM_BIN_PATH} ${OUTPUT_TESTS_DIR}
34- COMMENT "Running ${PROJECT_NAME} " )
35- add_dependencies (${PROJECT_NAME} sim snippetbased-simtestsimpl )
32+ set (DISCOVER_SCRIPT "${CMAKE_CURRENT_BINARY_DIR} /discover_generated_tests.cmake" )
33+ configure_file (
34+ "${CMAKE_SOURCE_DIR} /cmake/discover_generated_tests.cmake.in"
35+ "${DISCOVER_SCRIPT} "
36+ @ONLY
37+ )
38+
39+ set_property (DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "${DISCOVER_SCRIPT} " )
3640endif ()
3741
You can’t perform that action at this time.
0 commit comments