summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/CTest/cmCTestRunTest.cxx8
-rw-r--r--Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt6
-rw-r--r--Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake7
4 files changed, 19 insertions, 4 deletions
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index f281a11..35d6d17 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 27)
-set(CMake_VERSION_PATCH 20230724)
+set(CMake_VERSION_PATCH 20230725)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
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()