Tests: Generalize ctest tests-from-file test cases

This commit is contained in:
Brad King
2024-03-06 13:20:31 -05:00
parent dd8e84a8fa
commit 60433fc6e8
6 changed files with 9 additions and 9 deletions

View File

@@ -208,7 +208,7 @@ endfunction()
run_SkipRegexFoundTest()
function(run_TestsFromFileTest arg)
function(run_TestsFromFileTest case)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TestsFromFile)
set(RunCMake_TEST_NO_CLEAN 1)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
@@ -219,10 +219,10 @@ add_test(Test1 \"${CMAKE_COMMAND}\" -E echo \"test1\")
add_test(Test2 \"${CMAKE_COMMAND}\" -E echo \"test2\")
add_test(Test11 \"${CMAKE_COMMAND}\" -E echo \"test11\")
")
run_cmake_command(TestsFromFile-${arg} ${CMAKE_CTEST_COMMAND} --${arg} ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt )
run_cmake_command(TestsFromFile-${case} ${CMAKE_CTEST_COMMAND} ${ARGN})
endfunction()
run_TestsFromFileTest(tests-from-file)
run_TestsFromFileTest(exclude-from-file)
run_TestsFromFileTest(include --tests-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
run_TestsFromFileTest(exclude --exclude-from-file ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
function(run_SerialFailed)

View File

@@ -165,18 +165,18 @@ run_stop_on_failure()
# test include/exclude tests from file
function(run_tests_from_file mode)
set(CASE_CTEST_TEST_ARGS ${mode} ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
function(run_tests_from_file case)
set(CASE_CTEST_TEST_ARGS ${ARGN})
set(CASE_CMAKELISTS_SUFFIX_CODE [[
add_test(NAME Test1 COMMAND ${CMAKE_COMMAND} -E true)
add_test(NAME Test2 COMMAND ${CMAKE_COMMAND} -E true)
add_test(NAME Test11 COMMAND ${CMAKE_COMMAND} -E true)
]])
run_ctest(TestsFromFile-${mode})
run_ctest(TestsFromFile-${case})
endfunction()
run_tests_from_file(INCLUDE_FROM_FILE)
run_tests_from_file(EXCLUDE_FROM_FILE)
run_tests_from_file(include INCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
run_tests_from_file(exclude EXCLUDE_FROM_FILE ${RunCMake_SOURCE_DIR}/TestsFromFile-TestList.txt)
# Make sure environment gets logged