[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