[Cmake-commits] [cmake-commits] zach.mullen committed cmCTest.cxx 1.365 1.366 cmCTest.h 1.118 1.119 ctest.cxx 1.106 1.107

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Aug 27 10:37:34 EDT 2009


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv7429

Modified Files:
	cmCTest.cxx cmCTest.h ctest.cxx 
Log Message:
Fixed ctest -N segfault issue.  Further refactored ctest.  Enabled failover for ctest


Index: cmCTest.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmCTest.h,v
retrieving revision 1.118
retrieving revision 1.119
diff -C 2 -d -r1.118 -r1.119
*** cmCTest.h	26 Aug 2009 16:09:06 -0000	1.118
--- cmCTest.h	27 Aug 2009 14:37:30 -0000	1.119
***************
*** 139,151 ****
    void SetParallelLevel(int);
  
-   bool GetParallelSubprocess() { return this->ParallelSubprocess; }
-   void SetParallelSubprocess() { this->ParallelSubprocess = true; }
- 
-   void SetParallelSubprocessId(int id) { this->ParallelSubprocessId = id;}
-   int GetParallelSubprocessId() { return this->ParallelSubprocessId;}
-   const char* GetParallelCacheFile()
-     { return this->ParallelCacheFile.c_str();}
-   void SetParallelCacheFile(const char* c) { this->ParallelCacheFile = c; }
- 
    /**
     * Check if CTest file exists
--- 139,142 ----
***************
*** 372,375 ****
--- 363,369 ----
    const char* GetSpecificTrack();
  
+   void SetFailover(bool failover) { this->Failover = failover; }
+   bool GetFailover() { return this->Failover; }
+ 
    bool GetVerbose() { return this->Verbose;}
    bool GetExtraVerbose() { return this->ExtraVerbose;}
***************
*** 385,388 ****
--- 379,384 ----
    bool ProduceXML;
  
+   bool Failover;
+ 
    bool ForceNewCTestProcess;
  
***************
*** 421,428 ****
    int                     MaxTestNameWidth;
  
-   std::string             ParallelCacheFile;
    int                     ParallelLevel;
!   int                     ParallelSubprocessId;
!   bool                    ParallelSubprocess;
    int                     CompatibilityMode;
  
--- 417,422 ----
    int                     MaxTestNameWidth;
  
    int                     ParallelLevel;
! 
    int                     CompatibilityMode;
  

Index: cmCTest.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmCTest.cxx,v
retrieving revision 1.365
retrieving revision 1.366
diff -C 2 -d -r1.365 -r1.366
*** cmCTest.cxx	26 Aug 2009 16:09:06 -0000	1.365
--- cmCTest.cxx	27 Aug 2009 14:37:28 -0000	1.366
***************
*** 209,215 ****
  cmCTest::cmCTest()
  {
-   this->ParallelSubprocess     = false;
    this->ParallelLevel          = 1;
    this->SubmitIndex            = 0;
    this->ForceNewCTestProcess   = false;
    this->TomorrowTag            = false;
--- 209,215 ----
  cmCTest::cmCTest()
  {
    this->ParallelLevel          = 1;
    this->SubmitIndex            = 0;
+   this->Failover               = false;
    this->ForceNewCTestProcess   = false;
    this->TomorrowTag            = false;
***************
*** 796,804 ****
    int update_count = 0;
  
!   // do not output startup if this is a sub-process for parallel tests
!   if(!this->GetParallelSubprocess())
!     {
!     cmCTestLog(this, OUTPUT, "Start processing tests" << std::endl);
!     }
  
    for(Part p = PartStart; notest && p != PartCount; p = Part(p+1))
--- 796,800 ----
    int update_count = 0;
  
!   cmCTestLog(this, OUTPUT, "Start processing tests" << std::endl);
  
    for(Part p = PartStart; notest && p != PartCount; p = Part(p+1))
***************
*** 909,917 ****
    if ( res != 0 )
      {
!     if(!this->GetParallelSubprocess())
!       {
!       cmCTestLog(this, ERROR_MESSAGE, "Errors while running CTest"
                   << std::endl);
-       }
      }
    return res;
--- 905,910 ----
    if ( res != 0 )
      {
!     cmCTestLog(this, ERROR_MESSAGE, "Errors while running CTest"
                   << std::endl);
      }
    return res;
***************
*** 1708,1711 ****
--- 1701,1708 ----
    std::string arg = args[i];
  
+   if(this->CheckArgument(arg, "-F"))
+     {
+     this->Failover = true;
+     }
    if(this->CheckArgument(arg, "-j", "--parallel") && i < args.size() - 1)
      {
***************
*** 1719,1736 ****
      this->SetParallelLevel(plevel);
      }
-   if(this->CheckArgument(arg, "--internal-ctest-parallel") 
-      && i < args.size() - 1)
-     {
-     i++;
-     int pid = atoi(args[i].c_str());
-     this->SetParallelSubprocessId(pid);
-     this->SetParallelSubprocess();
-     }
-   
-   if(this->CheckArgument(arg, "--parallel-cache") && i < args.size() - 1)
-     {
-     i++;
-     this->SetParallelCacheFile(args[i].c_str());
-     }
    
    if(this->CheckArgument(arg, "-C", "--build-config") &&
--- 1716,1719 ----

Index: ctest.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/ctest.cxx,v
retrieving revision 1.106
retrieving revision 1.107
diff -C 2 -d -r1.106 -r1.107
*** ctest.cxx	7 May 2009 22:22:54 -0000	1.106
--- ctest.cxx	27 Aug 2009 14:37:30 -0000	1.107
***************
*** 71,74 ****
--- 71,77 ----
     "if the test should fail.  This option can also be enabled by setting "
     "the environment variable CTEST_OUTPUT_ON_FAILURE"},
+   {"-F", "Enable failover.", "This option allows ctest to resume a test "
+    "set execution that was previously interrupted.  If no interruption "
+    "occurred, the -F option will have no effect."},
    {"-Q,--quiet", "Make ctest quiet.",
      "This option will suppress all the output. The output log file will "



More information about the Cmake-commits mailing list