diff options
author | Brad King <brad.king@kitware.com> | 2019-10-29 18:21:38 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-10-29 19:14:36 (GMT) |
commit | 39ac8b4eb5c5ea99cf1053bd37e76d811f5122fc (patch) | |
tree | 284a7da62ff3285b1809618e822dd1c693ec03dd /Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | |
parent | 80c2c9d14cf1c1a8f162e119bd00d5f483a94af2 (diff) | |
download | CMake-39ac8b4eb5c5ea99cf1053bd37e76d811f5122fc.zip CMake-39ac8b4eb5c5ea99cf1053bd37e76d811f5122fc.tar.gz CMake-39ac8b4eb5c5ea99cf1053bd37e76d811f5122fc.tar.bz2 |
ctest: Add --repeat-after-timeout option
Add an option to re-run tests if they timeout. This will help tolerate
sporadic timeouts on busy machines.
Diffstat (limited to 'Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake')
-rw-r--r-- | Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake index 15a90fc..d7f4133 100644 --- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake @@ -24,12 +24,25 @@ run_cmake_command(repeat-until-fail-good ${CMAKE_CTEST_COMMAND} --repeat-until-fail 2 ) +run_cmake_command(repeat-after-timeout-bad1 + ${CMAKE_CTEST_COMMAND} --repeat-after-timeout + ) +run_cmake_command(repeat-after-timeout-bad2 + ${CMAKE_CTEST_COMMAND} --repeat-after-timeout foo + ) +run_cmake_command(repeat-after-timeout-good + ${CMAKE_CTEST_COMMAND} --repeat-after-timeout 2 + ) + run_cmake_command(repeat-until-pass-and-fail ${CMAKE_CTEST_COMMAND} --repeat-until-pass 2 --repeat-until-fail 2 ) run_cmake_command(repeat-until-fail-and-pass ${CMAKE_CTEST_COMMAND} --repeat-until-fail 2 --repeat-until-pass 2 ) +run_cmake_command(repeat-until-fail-and-timeout + ${CMAKE_CTEST_COMMAND} --repeat-until-fail 2 --repeat-after-timeout 2 + ) function(run_repeat_until_pass_tests) # Use a single build tree for a few tests without cleaning. @@ -42,6 +55,17 @@ function(run_repeat_until_pass_tests) endfunction() run_repeat_until_pass_tests() +function(run_repeat_after_timeout_tests) + # Use a single build tree for a few tests without cleaning. + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/repeat-after-timeout-build) + run_cmake(repeat-after-timeout-cmake) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(repeat-after-timeout-ctest + ${CMAKE_CTEST_COMMAND} -C Debug --repeat-after-timeout 3 + ) +endfunction() +run_repeat_after_timeout_tests() + function(run_repeat_until_fail_tests) # Use a single build tree for a few tests without cleaning. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/repeat-until-fail-build) |