[Cmake-commits] [cmake-commits] zach.mullen committed cmCTestMultiProcessHandler.cxx 1.10 1.11 cmCTestMultiProcessHandler.h 1.7 1.8 cmCTestRunTest.cxx 1.10 1.11 cmCTestRunTest.h 1.6 1.7 cmCTestTestHandler.h 1.43 1.44
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Sep 2 10:08:41 EDT 2009
Update of /cvsroot/CMake/CMake/Source/CTest
In directory public:/mounts/ram/cvs-serv7559/Source/CTest
Modified Files:
cmCTestMultiProcessHandler.cxx cmCTestMultiProcessHandler.h
cmCTestRunTest.cxx cmCTestRunTest.h cmCTestTestHandler.h
Log Message:
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
Index: cmCTestMultiProcessHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestMultiProcessHandler.cxx,v
retrieving revision 1.10
retrieving revision 1.11
diff -C 2 -d -r1.10 -r1.11
*** cmCTestMultiProcessHandler.cxx 28 Aug 2009 19:08:03 -0000 1.10
--- cmCTestMultiProcessHandler.cxx 2 Sep 2009 14:08:39 -0000 1.11
***************
*** 52,56 ****
--- 52,62 ----
void cmCTestMultiProcessHandler::RunTests()
{
+ if(this->CTest->GetBatchJobs())
+ {
+ this->SubmitBatchTests();
+ return;
+ }
this->CheckResume();
+ this->TestHandler->SetMaxIndex(this->FindMaxIndex());
this->StartNextTests();
while(this->Tests.size() != 0)
***************
*** 66,69 ****
--- 72,83 ----
}
+ 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)
{
***************
*** 307,308 ****
--- 321,336 ----
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;
+ }
Index: cmCTestMultiProcessHandler.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestMultiProcessHandler.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C 2 -d -r1.7 -r1.8
*** cmCTestMultiProcessHandler.h 31 Aug 2009 13:50:31 -0000 1.7
--- cmCTestMultiProcessHandler.h 2 Sep 2009 14:08:39 -0000 1.8
***************
*** 42,56 ****
void RunTests();
void PrintTestList();
! //void SetCTestCommand(const char* c) { this->CTestCommand = c;}
! //void SetTestCacheFile(const char* c) { this->CTestCacheFile = c;}
void SetPassFailVectors(std::vector<cmStdString>* passed,
std::vector<cmStdString>* failed)
{
! this->Passed = passed;
! this->Failed = failed;
}
void SetTestResults(std::vector<cmCTestTestHandler::cmCTestTestResult>* r)
{
! this->TestResults = r;
}
--- 42,56 ----
void RunTests();
void PrintTestList();
! void SubmitBatchTests();
!
void SetPassFailVectors(std::vector<cmStdString>* passed,
std::vector<cmStdString>* failed)
{
! this->Passed = passed;
! this->Failed = failed;
}
void SetTestResults(std::vector<cmCTestTestHandler::cmCTestTestResult>* r)
{
! this->TestResults = r;
}
***************
*** 79,82 ****
--- 79,83 ----
//Check if we need to resume an interrupted test set
void CheckResume();
+ int FindMaxIndex();
// map from test number to set of depend tests
TestMap Tests;
Index: cmCTestTestHandler.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -C 2 -d -r1.43 -r1.44
*** cmCTestTestHandler.h 28 Aug 2009 19:08:03 -0000 1.43
--- cmCTestTestHandler.h 2 Sep 2009 14:08:39 -0000 1.44
***************
*** 60,63 ****
--- 60,65 ----
void SetExcludeRegExp(const char *);
+ void SetMaxIndex(int n) {this->MaxIndex = n;}
+ int GetMaxIndex() {return this->MaxIndex;}
///! pass the -I argument down
***************
*** 158,161 ****
--- 160,164 ----
int CustomMaximumPassedTestOutputSize;
int CustomMaximumFailedTestOutputSize;
+ int MaxIndex;
public:
enum { // Program statuses
Index: cmCTestRunTest.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestRunTest.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C 2 -d -r1.6 -r1.7
*** cmCTestRunTest.h 31 Aug 2009 13:50:34 -0000 1.6
--- cmCTestRunTest.h 2 Sep 2009 14:08:39 -0000 1.7
***************
*** 92,95 ****
--- 92,108 ----
};
+ inline int getNumWidth(int n)
+ {
+ int numWidth = 1;
+ if(n >= 10)
+ {
+ numWidth = 2;
+ }
+ if(n >= 100)
+ {
+ numWidth = 3;
+ }
+ return numWidth;
+ }
#endif
Index: cmCTestRunTest.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestRunTest.cxx,v
retrieving revision 1.10
retrieving revision 1.11
diff -C 2 -d -r1.10 -r1.11
*** cmCTestRunTest.cxx 1 Sep 2009 15:58:04 -0000 1.10
--- cmCTestRunTest.cxx 2 Sep 2009 14:08:39 -0000 1.11
***************
*** 430,445 ****
void cmCTestRunTest::WriteLogOutputTop(size_t completed, size_t total)
{
! int numWidth = 1;
! if(total >= 10)
! {
! numWidth = 2;
! }
! if(total >= 100)
! {
! numWidth = 3;
! }
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::setw(numWidth)
<< completed << "/");
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::setw(numWidth)
<< total << " ");
--- 430,437 ----
void cmCTestRunTest::WriteLogOutputTop(size_t completed, size_t total)
{
!
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::setw(getNumWidth(total))
<< completed << "/");
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::setw(getNumWidth(total))
<< total << " ");
***************
*** 455,459 ****
cmOStringStream indexStr;
indexStr << " #" << this->Index << ":";
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::setw(3 + numWidth)
<< indexStr.str().c_str());
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
--- 447,452 ----
cmOStringStream indexStr;
indexStr << " #" << this->Index << ":";
! cmCTestLog(this->CTest, HANDLER_OUTPUT,
! std::setw(3 + getNumWidth(this->TestHandler->GetMaxIndex()))
<< indexStr.str().c_str());
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
More information about the Cmake-commits
mailing list