diff options
author | Brad King <brad.king@kitware.com> | 2023-05-05 16:43:33 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-05-05 16:43:50 (GMT) |
commit | 250f66acfea5f2842f1bef6bc8ee2d724dc8569e (patch) | |
tree | 9595b66bb179652babf203d54d1e7332c1a9d56c /Tests/RunCMake | |
parent | 5924630e6d4a383ef76412a6f560fbe852837e50 (diff) | |
parent | 0a5aeaf302369ab62f89ab35b0f0fb690f71c05a (diff) | |
download | CMake-250f66acfea5f2842f1bef6bc8ee2d724dc8569e.zip CMake-250f66acfea5f2842f1bef6bc8ee2d724dc8569e.tar.gz CMake-250f66acfea5f2842f1bef6bc8ee2d724dc8569e.tar.bz2 |
Merge topic 'ctest-timeout-zero'
0a5aeaf302 cmCTestRunTest: Consolidate test timeout selection logic
426e38cc10 cmCTestRunTest: Adopt decision for starting cmProcess timer
59336b29bd cmCTestRunTest: Remove unnecessary arguments to ForkProcess
07b5087ba7 Help: Document meaning of TIMEOUT test property with value 0
3edf7fbb41 ctest: Fix TIMEOUT test property with value 0 with --timeout flag
39a20a56dd Tests: Move `CTestTestZeroTimeout` into `RunCMake.CTestTimeout`
cd4038fe94 cmCTestTestHandler: Use in-class initialization of properties and results
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8455
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/CMakeLists.txt.in | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake | 15 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/ZeroOverridesFlag-stdout.txt | 6 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/ZeroOverridesVar-stdout.txt | 6 |
5 files changed, 30 insertions, 4 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index ada9132..3007660 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -562,7 +562,10 @@ add_RunCMake_test(alias_targets) add_RunCMake_test(InterfaceLibrary) add_RunCMake_test(no_install_prefix) add_RunCMake_test(configure_file) -add_RunCMake_test(CTestTimeout -DTIMEOUT=${CTestTestTimeout_TIME}) +if(CTestTestTimeout_TIME) + set(CTestTimeout_ARGS -DTIMEOUT=${CTestTestTimeout_TIME}) +endif() +add_RunCMake_test(CTestTimeout) add_RunCMake_test(CTestTimeoutAfterMatch) if(CMake_TEST_CUDA) add_RunCMake_test(CUDA_architectures) diff --git a/Tests/RunCMake/CTestTimeout/CMakeLists.txt.in b/Tests/RunCMake/CTestTimeout/CMakeLists.txt.in index 20faa94..ee3323c 100644 --- a/Tests/RunCMake/CTestTimeout/CMakeLists.txt.in +++ b/Tests/RunCMake/CTestTimeout/CMakeLists.txt.in @@ -4,7 +4,7 @@ include(CTest) add_executable(TestTimeout TestTimeout.c) -if(NOT TIMEOUT) +if(NOT DEFINED TIMEOUT) set(TIMEOUT 4) endif() target_compile_definitions(TestTimeout PRIVATE TIMEOUT=${TIMEOUT}) diff --git a/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake b/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake index 7e96b6d..a4080e3 100644 --- a/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake @@ -1,6 +1,6 @@ include(RunCTest) -if(NOT TIMEOUT) +if(NOT DEFINED TIMEOUT) # Give the process time to load and start running. set(TIMEOUT 4) endif() @@ -8,7 +8,7 @@ endif() function(run_ctest_timeout CASE_NAME) configure_file(${RunCMake_SOURCE_DIR}/TestTimeout.c ${RunCMake_BINARY_DIR}/${CASE_NAME}/TestTimeout.c COPYONLY) - run_ctest(${CASE_NAME}) + run_ctest(${CASE_NAME} ${ARGN}) endfunction() run_ctest_timeout(Basic) @@ -20,3 +20,14 @@ if(UNIX) run_ctest_timeout(Fork) unset(CASE_CMAKELISTS_SUFFIX_CODE) endif() + +block() + # An explicit zero TIMEOUT test property means "no timeout". + set(TIMEOUT 0) + # The test sleeps for 4 seconds longer than the TIMEOUT value. + # Set a default timeout to less than that so that the test will + # timeout if the zero TIMEOUT does not suppress it. + run_ctest_timeout(ZeroOverridesFlag --timeout 2) + set(CASE_TEST_PREFIX_CODE "set(CTEST_TEST_TIMEOUT 2)") + run_ctest_timeout(ZeroOverridesVar) +endblock() diff --git a/Tests/RunCMake/CTestTimeout/ZeroOverridesFlag-stdout.txt b/Tests/RunCMake/CTestTimeout/ZeroOverridesFlag-stdout.txt new file mode 100644 index 0000000..746bc21 --- /dev/null +++ b/Tests/RunCMake/CTestTimeout/ZeroOverridesFlag-stdout.txt @@ -0,0 +1,6 @@ +Test project [^ +]*/Tests/RunCMake/CTestTimeout/ZeroOverridesFlag-build + Start 1: TestTimeout +1/1 Test #1: TestTimeout ...................... Passed +[1-9][0-9.]* sec ++ +100% tests passed, 0 tests failed out of 1 diff --git a/Tests/RunCMake/CTestTimeout/ZeroOverridesVar-stdout.txt b/Tests/RunCMake/CTestTimeout/ZeroOverridesVar-stdout.txt new file mode 100644 index 0000000..7192055 --- /dev/null +++ b/Tests/RunCMake/CTestTimeout/ZeroOverridesVar-stdout.txt @@ -0,0 +1,6 @@ +Test project [^ +]*/Tests/RunCMake/CTestTimeout/ZeroOverridesVar-build + Start 1: TestTimeout +1/1 Test #1: TestTimeout ...................... Passed +[1-9][0-9.]* sec ++ +100% tests passed, 0 tests failed out of 1 |