| 
														
															@@ -112,7 +112,7 @@ void cmCTestMultiProcessHandler::RunTests() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   this->UpdateCostData(); 
														 | 
														
														 | 
														
															   this->UpdateCostData(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-void cmCTestMultiProcessHandler::StartTestProcess(int test) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+bool cmCTestMultiProcessHandler::StartTestProcess(int test) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 { 
														 | 
														
														 | 
														
															 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   std::chrono::system_clock::time_point stop_time = this->CTest->GetStopTime(); 
														 | 
														
														 | 
														
															   std::chrono::system_clock::time_point stop_time = this->CTest->GetStopTime(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (stop_time != std::chrono::system_clock::time_point() && 
														 | 
														
														 | 
														
															   if (stop_time != std::chrono::system_clock::time_point() && 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -121,7 +121,7 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                            "Stopping all tests." 
														 | 
														
														 | 
														
															                                            "Stopping all tests." 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                  << std::endl); 
														 | 
														
														 | 
														
															                  << std::endl); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     this->StopTimePassed = true; 
														 | 
														
														 | 
														
															     this->StopTimePassed = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    return; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, 
														 | 
														
														 | 
														
															   cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -155,23 +155,25 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (testRun->StartTest(this->Total)) { 
														 | 
														
														 | 
														
															   if (testRun->StartTest(this->Total)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     this->RunningTests.insert(testRun); 
														 | 
														
														 | 
														
															     this->RunningTests.insert(testRun); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  } else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    for (auto& j : this->Tests) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      j.second.erase(test); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  for (auto& j : this->Tests) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    j.second.erase(test); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->UnlockResources(test); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->Completed++; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->TestFinishMap[test] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->TestRunningMap[test] = false; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->RunningCount -= GetProcessorsUsed(test); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    testRun->EndTest(this->Completed, this->Total, false); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    if (!this->Properties[test]->Disabled) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-      this->Failed->push_back(this->Properties[test]->Name); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    delete testRun; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  this->UnlockResources(test); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  this->Completed++; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  this->TestFinishMap[test] = true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  this->TestRunningMap[test] = false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  this->RunningCount -= GetProcessorsUsed(test); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  testRun->EndTest(this->Completed, this->Total, false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if (!this->Properties[test]->Disabled) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    this->Failed->push_back(this->Properties[test]->Name); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  delete testRun; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  return false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void cmCTestMultiProcessHandler::LockResources(int index) 
														 | 
														
														 | 
														
															 void cmCTestMultiProcessHandler::LockResources(int index) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -229,8 +231,7 @@ bool cmCTestMultiProcessHandler::StartTest(int test) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															   // if there are no depends left then run this test 
														 | 
														
														 | 
														
															   // if there are no depends left then run this test 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (this->Tests[test].empty()) { 
														 | 
														
														 | 
														
															   if (this->Tests[test].empty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    this->StartTestProcess(test); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    return true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return this->StartTestProcess(test); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   } 
														 | 
														
														 | 
														
															   } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   // This test was not able to start because it is waiting 
														 | 
														
														 | 
														
															   // This test was not able to start because it is waiting 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   // on depends to run 
														 | 
														
														 | 
														
															   // on depends to run 
														 |