Browse Source

cmCTestMultiProcessHandler: Clarify role of StartTestProcess

Focus its role on actually running the test process.
Move administrative tasks to the call site.
Brad King 1 year ago
parent
commit
b17c732e88
1 changed files with 4 additions and 4 deletions
  1. 4 4
      Source/CTest/cmCTestMultiProcessHandler.cxx

+ 4 - 4
Source/CTest/cmCTestMultiProcessHandler.cxx

@@ -164,12 +164,8 @@ void cmCTestMultiProcessHandler::RunTests()
 
 void cmCTestMultiProcessHandler::StartTestProcess(int test)
 {
-  this->LockResources(test);
-
   cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
                      "test " << test << "\n", this->Quiet);
-  // now remove the test itself
-  this->ErasePendingTest(test);
 
   auto testRun = cm::make_unique<cmCTestRunTest>(*this, test);
 
@@ -591,8 +587,12 @@ void cmCTestMultiProcessHandler::StartNextTests()
       continue;
     }
 
+    // Lock resources needed by this test.
+    this->LockResources(test);
+
     // The test is ready to run.
     numToStart -= processors;
+    this->ErasePendingTest(test);
     this->StartTest(test);
   }