summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Mullen <zach.mullen@kitware.com>2010-06-23 21:18:59 (GMT)
committerZach Mullen <zach.mullen@kitware.com>2010-06-23 21:18:59 (GMT)
commit1a4c0c55c765bf074943702722baa39decb82c3a (patch)
treed124993ae79af4fb5468acb2d4a443c446f61591
parentb1418625645ebef66e54d75004c82d88807e154f (diff)
downloadCMake-1a4c0c55c765bf074943702722baa39decb82c3a.zip
CMake-1a4c0c55c765bf074943702722baa39decb82c3a.tar.gz
CMake-1a4c0c55c765bf074943702722baa39decb82c3a.tar.bz2
Parallel CTest hangs if serial test has depends
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.cxx2
-rw-r--r--Tests/CTestTestParallel/CMakeLists.txt2
2 files changed, 3 insertions, 1 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 9b8cef5..1eb84e8 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/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
{
diff --git a/Tests/CTestTestParallel/CMakeLists.txt b/Tests/CTestTestParallel/CMakeLists.txt
index 8fab44b..fc53f68 100644
--- a/Tests/CTestTestParallel/CMakeLists.txt
+++ b/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)