Tests/RunCMake/CTestCommandLine: Add case for ctest --rerun-failed

Remove the old `CTestTestRerunFailed` test.
This commit is contained in:
Brad King committed 2025-12-08 15:16:51 -05:00
1 parent 20e81dbd5e
commit 8f848dbc1f
8 files changed
+41 -7

No files matched your search

-7
View File
@@ -3047,13 +3047,6 @@ if(BUILD_TESTING)
set_tests_properties(CTestTestTimeout PROPERTIES
PASS_REGULAR_EXPRESSION "TestTimeout *\\.+ *\\*\\*\\*Timeout.*TestSleep *\\.+ *Passed.*timeout correctly killed child")
add_test(
NAME CTestTestRerunFailed
COMMAND ${CMAKE_CTEST_COMMAND} --rerun-failed)
set_tests_properties(CTestTestRerunFailed PROPERTIES
PASS_REGULAR_EXPRESSION "1/1 Test #1: TestTimeout" DEPENDS CTestTestTimeout
WORKING_DIRECTORY ${CMake_BINARY_DIR}/Tests/CTestTestTimeout)
configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestDepends/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestDepends/test.cmake"
@@ -104,6 +104,19 @@ endfunction()
run_repeat_until_fail_tests(--repeat-until-fail 3)
run_repeat_until_fail_tests(--repeat until-fail:3)
block()
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/rerun)
set(RunCMake_TEST_NO_CLEAN 1)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
add_test(works \"${CMAKE_COMMAND}\" -E true)
add_test(fails \"${CMAKE_COMMAND}\" -E false)
")
run_cmake_command(rerun-init ${CMAKE_CTEST_COMMAND})
run_cmake_command(rerun-failed ${CMAKE_CTEST_COMMAND} --rerun-failed)
endblock()
function(run_BadCTestTestfile)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BadCTestTestfile)
set(RunCMake_TEST_NO_CLEAN 1)
@@ -0,0 +1 @@
[^0]
@@ -0,0 +1 @@
.*
@@ -0,0 +1,11 @@
^Test project [^
]*/Tests/RunCMake/CTestCommandLine/rerun
Start 2: fails
1/1 Test #2: fails \.+\*\*\*Failed +[0-9\.]+ sec
+
0% tests passed, 1 tests failed out of 1
+
Total Test time \(real\) = +[0-9\.]+ sec
+
The following tests FAILED:
[ ]+2 - fails \(Failed\)$
@@ -0,0 +1 @@
[^0]
@@ -0,0 +1 @@
.*
@@ -0,0 +1,13 @@
^Test project [^
]*/Tests/RunCMake/CTestCommandLine/rerun
Start 1: works
1/2 Test #1: works \.+ Passed +[0-9\.]+ sec
Start 2: fails
2/2 Test #2: fails \.+\*\*\*Failed +[0-9\.]+ sec
+
50% tests passed, 1 tests failed out of 2
+
Total Test time \(real\) = +[0-9\.]+ sec
+
The following tests FAILED:
[ ]+2 - fails \(Failed\)$