Browse Source

Parallel CTest hangs if serial test has depends

Zach Mullen 15 years ago
parent
commit
1a4c0c55c7

+ 1 - 1
Source/CTest/cmCTestMultiProcessHandler.cxx

@@ -92,6 +92,7 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test)
   this->TestRunningMap[test] = true; // mark the test as running
   // now remove the test itself
   this->EraseTest(test);
+  this->RunningCount += GetProcessorsUsed(test);
 
   cmCTestRunTest* testRun = new cmCTestRunTest(this->TestHandler);
   testRun->SetIndex(test);
@@ -267,7 +268,6 @@ void cmCTestMultiProcessHandler::StartNextTests()
           return;
           }
         numToStart -= processors;
-        this->RunningCount += processors;
         }
       else
         {

+ 2 - 0
Tests/CTestTestParallel/CMakeLists.txt

@@ -11,3 +11,5 @@ SET_TESTS_PROPERTIES(TestRunSerial1 TestRunSerial2 PROPERTIES RUN_SERIAL true)
 ADD_TEST (TestProcessorsGreaterThanMPL1 LockFile)
 ADD_TEST (TestProcessorsGreaterThanMPL2 LockFile)
 SET_TESTS_PROPERTIES(TestProcessorsGreaterThanMPL1 PROPERTIES PROCESSORS 10)
+SET_TESTS_PROPERTIES(TestProcessorsGreaterThanMPL1 PROPERTIES DEPENDS
+                     TestProcessorsGreaterThanMPL2)