ソースを参照

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 <[email protected]>
Acked-by: buildbot <[email protected]>
Merge-request: !8851
Brad King 2 年 前
コミット
832e88b208

+ 2 - 1
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``

+ 6 - 5
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;
+      }
     }
   }
 

+ 1 - 1
Tests/RunCMake/CTestTimeout/PropertyOverridesScript-stdout.txt → 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
 +

+ 6 - 0
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

+ 8 - 1
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()