Browse Source

CTest: Implement message(STATUS) output for 'ctest -S' scripts

Send status messages to the CTest HANDLER_OUTPUT log since they are part
of the script handler output.  This also ensures they appear inline with
other test command handler output.
Brad King 11 years ago
parent
commit
f33d875a84
1 changed files with 11 additions and 0 deletions
  1. 11 0
      Source/CTest/cmCTestScriptHandler.cxx

+ 11 - 0
Source/CTest/cmCTestScriptHandler.cxx

@@ -317,6 +317,15 @@ int cmCTestScriptHandler::ExecuteScript(const std::string& total_script_arg)
   return retVal;
   return retVal;
 }
 }
 
 
+static void ctestScriptProgressCallback(const char *m, float, void* cd)
+{
+  cmCTest* ctest = static_cast<cmCTest*>(cd);
+  if(m && *m)
+    {
+    cmCTestLog(ctest, HANDLER_OUTPUT, "-- " << m << std::endl);
+    }
+}
+
 void cmCTestScriptHandler::CreateCMake()
 void cmCTestScriptHandler::CreateCMake()
 {
 {
   // create a cmake instance to read the configuration script
   // create a cmake instance to read the configuration script
@@ -334,6 +343,8 @@ void cmCTestScriptHandler::CreateCMake()
   this->LocalGenerator = this->GlobalGenerator->CreateLocalGenerator();
   this->LocalGenerator = this->GlobalGenerator->CreateLocalGenerator();
   this->Makefile = this->LocalGenerator->GetMakefile();
   this->Makefile = this->LocalGenerator->GetMakefile();
 
 
+  this->CMake->SetProgressCallback(ctestScriptProgressCallback, this->CTest);
+
   // Set CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR.
   // Set CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR.
   // Also, some commands need Makefile->GetCurrentDirectory().
   // Also, some commands need Makefile->GetCurrentDirectory().
   std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
   std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();