瀏覽代碼

cmCTestMultiProcessHandler: Clarify role of StartTestProcess

Focus its role on actually running the test process.
Move administrative tasks to the call site.
Brad King 2 年之前
父節點
當前提交
b17c732e88
共有 1 個文件被更改,包括 4 次插入4 次删除
  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)
 void cmCTestMultiProcessHandler::StartTestProcess(int test)
 {
 {
-  this->LockResources(test);
-
   cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
   cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
                      "test " << test << "\n", this->Quiet);
                      "test " << test << "\n", this->Quiet);
-  // now remove the test itself
-  this->ErasePendingTest(test);
 
 
   auto testRun = cm::make_unique<cmCTestRunTest>(*this, test);
   auto testRun = cm::make_unique<cmCTestRunTest>(*this, test);
 
 
@@ -591,8 +587,12 @@ void cmCTestMultiProcessHandler::StartNextTests()
       continue;
       continue;
     }
     }
 
 
+    // Lock resources needed by this test.
+    this->LockResources(test);
+
     // The test is ready to run.
     // The test is ready to run.
     numToStart -= processors;
     numToStart -= processors;
+    this->ErasePendingTest(test);
     this->StartTest(test);
     this->StartTest(test);
   }
   }