diff options
author | Brad King <brad.king@kitware.com> | 2023-10-20 19:26:10 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-11-17 23:42:17 (GMT) |
commit | 8f1e8af0ccec06b69f25d01d1f27d967a3501f14 (patch) | |
tree | 19a2aeff9b190abd8d01da2c7222ea0b8b1ed2f0 /Source/CTest | |
parent | bd0b4ca867c297a42b3128e0193c6ab01f1b53ec (diff) | |
download | CMake-8f1e8af0ccec06b69f25d01d1f27d967a3501f14.zip CMake-8f1e8af0ccec06b69f25d01d1f27d967a3501f14.tar.gz CMake-8f1e8af0ccec06b69f25d01d1f27d967a3501f14.tar.bz2 |
cmCTestMultiProcessHandler: Stop searching for tests when limit is reached
Avoid an extra loop iteration if we have no room for more tests.
Diffstat (limited to 'Source/CTest')
-rw-r--r-- | Source/CTest/cmCTestMultiProcessHandler.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index d4cda42..31b7422 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -542,7 +542,7 @@ void cmCTestMultiProcessHandler::StartNextTests() // Start tests in the preferred order, each subject to readiness checks. auto ti = this->OrderedTests.begin(); - while (ti != this->OrderedTests.end()) { + while (numToStart > 0 && ti != this->OrderedTests.end()) { // Increment the test iterator now because the current list // entry may be deleted below. int test = *ti++; @@ -584,8 +584,6 @@ void cmCTestMultiProcessHandler::StartNextTests() if (this->StartTest(test)) { numToStart -= processors; - } else if (numToStart == 0) { - break; } } @@ -606,7 +604,7 @@ void cmCTestMultiProcessHandler::StartNextTests() } else if (onlyRunSerialTestsLeft) { cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Only RUN_SERIAL tests remain, awaiting available slot."); - } else { + } else if (!testWithMinProcessors.empty()) { /* clang-format off */ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "System Load: " << systemLoad << ", " @@ -614,6 +612,12 @@ void cmCTestMultiProcessHandler::StartNextTests() "Smallest test " << testWithMinProcessors << " requires " << minProcessorsRequired); /* clang-format on */ + } else { + /* clang-format off */ + cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, + "System Load: " << systemLoad << ", " + "Max Allowed Load: " << this->TestLoad); + /* clang-format on */ } cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "*****" << std::endl); |