diff options
author | Zach Mullen <zach.mullen@kitware.com> | 2009-09-02 14:08:40 (GMT) |
---|---|---|
committer | Zach Mullen <zach.mullen@kitware.com> | 2009-09-02 14:08:40 (GMT) |
commit | 69fd641adb32c878ded4cadee60d90596b358d1b (patch) | |
tree | cd9885d9d8a0825b4a3bc227f78780ebf1a1e95b /Source/CTest/cmCTestMultiProcessHandler.cxx | |
parent | 99144383cf17e188f67a5d9e3469bcf1b3a836b8 (diff) | |
download | CMake-69fd641adb32c878ded4cadee60d90596b358d1b.zip CMake-69fd641adb32c878ded4cadee60d90596b358d1b.tar.gz CMake-69fd641adb32c878ded4cadee60d90596b358d1b.tar.bz2 |
Fixed ctest output where max test index is not the same width as the total number of tests. Also some preliminary changes for batching ctest jobs
Diffstat (limited to 'Source/CTest/cmCTestMultiProcessHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestMultiProcessHandler.cxx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index 157e187..b086edb 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -51,7 +51,13 @@ void cmCTestMultiProcessHandler::SetParallelLevel(size_t level) void cmCTestMultiProcessHandler::RunTests() { + if(this->CTest->GetBatchJobs()) + { + this->SubmitBatchTests(); + return; + } this->CheckResume(); + this->TestHandler->SetMaxIndex(this->FindMaxIndex()); this->StartNextTests(); while(this->Tests.size() != 0) { @@ -65,6 +71,14 @@ void cmCTestMultiProcessHandler::RunTests() this->MarkFinished(); } +void cmCTestMultiProcessHandler::SubmitBatchTests() +{ + for(cmCTest::CTestConfigurationMap::iterator i = this->CTest->CTestConfiguration.begin(); i != this->CTest->CTestConfiguration.end(); ++i) + { + cmCTestLog(this->CTest, HANDLER_OUTPUT, i->first << " = " << i->second << std::endl); + } +} + void cmCTestMultiProcessHandler::StartTestProcess(int test) { cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, test << ": " @@ -306,3 +320,17 @@ void cmCTestMultiProcessHandler::RemoveTest(int index) this->TestFinishMap[index] = true; this->Completed++; } + +int cmCTestMultiProcessHandler::FindMaxIndex() +{ + int max = 0; + cmCTestMultiProcessHandler::TestMap::iterator i = this->Tests.begin(); + for(; i != this->Tests.end(); ++i) + { + if(i->first > max) + { + max = i->first; + } + } + return max; +} |