Browse Source

ENH: Factor out nightly start time computation

Move generation of the nightly start time string from
cmCTestUpdateHandler::ProcessHandler into cmCTestVC.
Brad King 17 years ago
parent
commit
d76bc78a12
3 changed files with 22 additions and 12 deletions
  1. 1 12
      Source/CTest/cmCTestUpdateHandler.cxx
  2. 18 0
      Source/CTest/cmCTestVC.cxx
  3. 3 0
      Source/CTest/cmCTestVC.h

+ 1 - 12
Source/CTest/cmCTestUpdateHandler.cxx

@@ -364,18 +364,7 @@ int cmCTestUpdateHandler::ProcessHandler()
   std::string extra_update_opts;
   if ( this->CTest->GetTestModel() == cmCTest::NIGHTLY )
     {
-    struct tm* t = this->CTest->GetNightlyTime(
-      this->CTest->GetCTestConfiguration("NightlyStartTime"),
-      this->CTest->GetTomorrowTag());
-    char current_time[1024];
-    sprintf(current_time, "%04d-%02d-%02d %02d:%02d:%02d",
-      t->tm_year + 1900,
-      t->tm_mon + 1,
-      t->tm_mday,
-      t->tm_hour,
-      t->tm_min,
-      t->tm_sec);
-    std::string today_update_date = current_time;
+    std::string today_update_date = vc->GetNightlyTime();
 
     // TODO: SVN
     switch ( this->UpdateType )

+ 18 - 0
Source/CTest/cmCTestVC.cxx

@@ -71,6 +71,24 @@ std::string cmCTestVC::ComputeCommandLine(char const* const* cmd)
   return line.str();
 }
 
+//----------------------------------------------------------------------------
+std::string cmCTestVC::GetNightlyTime()
+{
+  // Get the nightly start time corresponding to the current dau.
+  struct tm* t = this->CTest->GetNightlyTime(
+    this->CTest->GetCTestConfiguration("NightlyStartTime"),
+    this->CTest->GetTomorrowTag());
+  char current_time[1024];
+  sprintf(current_time, "%04d-%02d-%02d %02d:%02d:%02d",
+          t->tm_year + 1900,
+          t->tm_mon + 1,
+          t->tm_mday,
+          t->tm_hour,
+          t->tm_min,
+          t->tm_sec);
+  return current_time;
+}
+
 //----------------------------------------------------------------------------
 void cmCTestVC::Cleanup()
 {

+ 3 - 0
Source/CTest/cmCTestVC.h

@@ -39,6 +39,9 @@ public:
   /** Top-level source directory.  */
   void SetSourceDirectory(std::string const& dir);
 
+  /** Get the date/time specification for the current nightly start time.  */
+  std::string GetNightlyTime();
+
   /** Perform cleanup operations on the work tree.  */
   void Cleanup();