Merge topic 'ctest-T-test-timeout' into release-4.0

9dc3edbba8 ctest: Restore default test timeout for command-line `-T Test` step
8745e6308e ctest: Restore default of no time limit for command-line `-T Test` step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11094
This commit is contained in:
Brad King
2025-08-20 09:58:46 -04:00
4 changed files with 32 additions and 0 deletions
+13
View File
@@ -717,6 +717,13 @@ int cmCTest::ProcessSteps()
this->UpdateCTestConfiguration();
this->BlockTestErrorDiagnostics();
if (this->GetCTestConfiguration("TimeOut").empty()) {
this->SetCTestConfiguration(
"TimeOut",
std::to_string(cmDurationTo<unsigned int>(cmCTest::MaxDuration())),
true);
}
int res = 0;
cmCTestScriptHandler script(this);
script.CreateCMake();
@@ -3260,6 +3267,9 @@ void cmCTest::SetCMakeVariables(cmMakefile& mf)
set("CTEST_BUILD_COMMAND", "MakeCommand");
set("CTEST_USE_LAUNCHERS", "UseLaunchers");
// CTest Test Step
set("CTEST_TEST_TIMEOUT", "TimeOut");
// CTest Coverage Step
set("CTEST_COVERAGE_COMMAND", "CoverageCommand");
set("CTEST_COVERAGE_EXTRA_FLAGS", "CoverageExtraFlags");
@@ -3541,6 +3551,9 @@ cmDuration cmCTest::GetElapsedTime() const
cmDuration cmCTest::GetRemainingTimeAllowed() const
{
if (this->Impl->TimeLimit == cmCTest::MaxDuration()) {
return cmCTest::MaxDuration();
}
return this->Impl->TimeLimit - this->GetElapsedTime();
}
@@ -630,6 +630,21 @@ run_output_junit()
run_cmake_command(invalid-ctest-argument ${CMAKE_CTEST_COMMAND} --not-a-valid-ctest-argument)
block()
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TimeoutDefault)
set(RunCMake_TEST_NO_CLEAN 1)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
file(WRITE "${RunCMake_TEST_BINARY_DIR}/DartConfiguration.tcl" "
BuildDirectory: ${RunCMake_TEST_BINARY_DIR}
")
file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
add_test(test1 \"${CMAKE_COMMAND}\" -E true)
")
run_cmake_command(TimeoutDefault ${CMAKE_CTEST_COMMAND} -V)
run_cmake_command(TimeoutDefault-T-Test ${CMAKE_CTEST_COMMAND} -V -T Test)
endblock()
if(WIN32)
block()
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TimeoutSignalWindows)
@@ -0,0 +1,2 @@
1: Test timeout computed to be: 10000000
1/1 Test #1: test1[ ]
@@ -0,0 +1,2 @@
1: Test timeout computed to be: 10000000
1/1 Test #1: test1[ ]