From 5ff0b4ed57e4ccea77e78e128765e3ecc7e86f50 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 20 Oct 2023 18:16:01 -0400 Subject: cmCTestMultiProcessHandler: Consolidate test readiness checks --- Source/CTest/cmCTestMultiProcessHandler.cxx | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index 3759af1..d97148d 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -449,17 +449,6 @@ std::string cmCTestMultiProcessHandler::GetName(int test) bool cmCTestMultiProcessHandler::StartTest(int test) { - // Check for locked project resources. - for (std::string const& i : this->Properties[test]->ProjectResources) { - if (cm::contains(this->ProjectResourcesLocked, i)) { - return false; - } - } - - if (!this->AllocateResources(test)) { - return false; - } - return this->StartTestProcess(test); } @@ -576,6 +565,19 @@ void cmCTestMultiProcessHandler::StartNextTests() continue; } + // Exclude tests that depend on currently-locked project resources. + for (std::string const& i : this->Properties[test]->ProjectResources) { + if (cm::contains(this->ProjectResourcesLocked, i)) { + continue; + } + } + + // Allocate system resources needed by this test. + if (!this->AllocateResources(test)) { + continue; + } + + // The test is ready to run. if (this->StartTest(test)) { numToStart -= processors; } -- cgit v0.12