diff options
-rw-r--r-- | Source/CTest/cmCTestRunTest.cxx | 8 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt | 6 | ||||
-rw-r--r-- | Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake | 7 |
3 files changed, 18 insertions, 3 deletions
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx index 9b62183..563439a 100644 --- a/Source/CTest/cmCTestRunTest.cxx +++ b/Source/CTest/cmCTestRunTest.cxx @@ -758,11 +758,13 @@ bool cmCTestRunTest::ForkProcess() } // An explicit TIMEOUT=0 test property means "no timeout". - if (timeout && *timeout == std::chrono::duration<double>::zero()) { - timeout = cm::nullopt; + if (timeout) { + if (*timeout == std::chrono::duration<double>::zero()) { + timeout = cm::nullopt; + } } else { // Check --timeout. - if (!timeout && this->CTest->GetGlobalTimeout() > cmDuration::zero()) { + if (this->CTest->GetGlobalTimeout() > cmDuration::zero()) { timeout = this->CTest->GetGlobalTimeout(); } diff --git a/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt b/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt new file mode 100644 index 0000000..6e46485 --- /dev/null +++ b/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt @@ -0,0 +1,6 @@ +Test project [^ +]*/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-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/RunCMakeTest.cmake b/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake index 6caeef1..2f9eda1 100644 --- a/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake @@ -87,3 +87,10 @@ block() set(CASE_TEST_PREFIX_CODE "set(CTEST_TEST_TIMEOUT 2)") run_ctest_timeout(ZeroOverridesVar) endblock() + +block() + set(TIMEOUT 4) + set(CASE_TEST_PREFIX_CODE "set(CTEST_TEST_TIMEOUT 2)") + set(CASE_CMAKELISTS_SUFFIX_CODE "set_property(TEST TestTimeout PROPERTY TIMEOUT 10)\n") + run_ctest_timeout(PropertyOverridesScript) +endblock() |