cmCTestMultiProcessHandler: Consolidate test readiness checks

This commit is contained in:
Brad King 2023-10-20 18:16:01 -04:00
parent ad3df3ce4d
commit 5ff0b4ed57

View File

@ -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;
}