summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-10-02 12:57:16 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-10-02 12:57:35 (GMT)
commit832e88b208a41cd8b7660cbe3f0c168fd4f774f5 (patch)
treeb017f5ccc4a31087bc41a8d57ce1a7fe13ec1e1f
parentdd949c77cb94c59616bd288c10da6f315c1e1a52 (diff)
parentd267c128a232e9beb99576f901ee1b9291ba1480 (diff)
downloadCMake-832e88b208a41cd8b7660cbe3f0c168fd4f774f5.zip
CMake-832e88b208a41cd8b7660cbe3f0c168fd4f774f5.tar.gz
CMake-832e88b208a41cd8b7660cbe3f0c168fd4f774f5.tar.bz2
Merge topic 'ctest-timeout-flag' into release-3.27
d267c128a2 ctest: Restore support for --timeout values higher than default test timeout dd779a4bc2 Tests: Clarify RunCMake.CTestTimeout case name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8851
-rw-r--r--Help/manual/ctest.1.rst3
-rw-r--r--Source/CTest/cmCTestRunTest.cxx11
-rw-r--r--Tests/RunCMake/CTestTimeout/FlagOverridesVar-stdout.txt (renamed from Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt)2
-rw-r--r--Tests/RunCMake/CTestTimeout/PropertyOverridesVar-stdout.txt6
-rw-r--r--Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake9
5 files changed, 23 insertions, 8 deletions
diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst
index 994ae47..5c3889e 100644
--- a/Help/manual/ctest.1.rst
+++ b/Help/manual/ctest.1.rst
@@ -1230,7 +1230,8 @@ Configuration settings include:
``TimeOut``
The default timeout for each test if not specified by the
- :prop_test:`TIMEOUT` test property.
+ :prop_test:`TIMEOUT` test property or the
+ :option:`--timeout <ctest --timeout>` flag.
* `CTest Script`_ variable: :variable:`CTEST_TEST_TIMEOUT`
* :module:`CTest` module variable: ``DART_TESTING_TIMEOUT``
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx
index 563439a..19e505f 100644
--- a/Source/CTest/cmCTestRunTest.cxx
+++ b/Source/CTest/cmCTestRunTest.cxx
@@ -768,11 +768,12 @@ bool cmCTestRunTest::ForkProcess()
timeout = this->CTest->GetGlobalTimeout();
}
- // Check CTEST_TEST_TIMEOUT.
- cmDuration ctestTestTimeout = this->CTest->GetTimeOut();
- if (ctestTestTimeout > cmDuration::zero() &&
- (!timeout || ctestTestTimeout < *timeout)) {
- timeout = ctestTestTimeout;
+ if (!timeout) {
+ // Check CTEST_TEST_TIMEOUT.
+ cmDuration ctestTestTimeout = this->CTest->GetTimeOut();
+ if (ctestTestTimeout > cmDuration::zero()) {
+ timeout = ctestTestTimeout;
+ }
}
}
diff --git a/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt b/Tests/RunCMake/CTestTimeout/FlagOverridesVar-stdout.txt
index 6e46485..f580871 100644
--- a/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt
+++ b/Tests/RunCMake/CTestTimeout/FlagOverridesVar-stdout.txt
@@ -1,5 +1,5 @@
Test project [^
-]*/Tests/RunCMake/CTestTimeout/PropertyOverridesScript-build
+]*/Tests/RunCMake/CTestTimeout/FlagOverridesVar-build
Start 1: TestTimeout
1/1 Test #1: TestTimeout ...................... Passed +[1-9][0-9.]* sec
+
diff --git a/Tests/RunCMake/CTestTimeout/PropertyOverridesVar-stdout.txt b/Tests/RunCMake/CTestTimeout/PropertyOverridesVar-stdout.txt
new file mode 100644
index 0000000..aeeb3c9
--- /dev/null
+++ b/Tests/RunCMake/CTestTimeout/PropertyOverridesVar-stdout.txt
@@ -0,0 +1,6 @@
+Test project [^
+]*/Tests/RunCMake/CTestTimeout/PropertyOverridesVar-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 2f9eda1..470bbd8 100644
--- a/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTestTimeout/RunCMakeTest.cmake
@@ -92,5 +92,12 @@ 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)
+ run_ctest_timeout(PropertyOverridesVar)
+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)\n")
+ run_ctest_timeout(FlagOverridesVar --timeout 10000001)
endblock()