[Cmake-commits] [cmake-commits] hoffman committed cmCTestMultiProcessHandler.cxx 1.4 1.5 cmCTestTestHandler.cxx 1.92 1.93 cmCTestTestHandler.h 1.35 1.36

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Feb 24 17:23:55 EST 2009


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

Modified Files:
	cmCTestMultiProcessHandler.cxx cmCTestTestHandler.cxx 
	cmCTestTestHandler.h 
Log Message:
ENH: add a CDash measured value showing the reason for passed and failed tests based on regular expressions


Index: cmCTestMultiProcessHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestMultiProcessHandler.cxx,v
retrieving revision 1.4
retrieving revision 1.5
diff -C 2 -d -r1.4 -r1.5
*** cmCTestMultiProcessHandler.cxx	10 Feb 2009 19:19:50 -0000	1.4
--- cmCTestMultiProcessHandler.cxx	24 Feb 2009 22:23:51 -0000	1.5
***************
*** 241,244 ****
--- 241,248 ----
  void cmCTestMultiProcessHandler::EndTest(cmProcess* p)
  {
+   // Should have a way of getting this stuff from the 
+   // launched ctest, maybe a temp file or some extra xml
+   // stuff in the stdout
+   // Need things like Reason and ExecutionTime, Path, etc.
    int test = p->GetId();
    int exitVal = p->GetExitValue();

Index: cmCTestTestHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.cxx,v
retrieving revision 1.92
retrieving revision 1.93
diff -C 2 -d -r1.92 -r1.93
*** cmCTestTestHandler.cxx	10 Feb 2009 19:24:23 -0000	1.92
--- cmCTestTestHandler.cxx	24 Feb 2009 22:23:51 -0000	1.93
***************
*** 800,803 ****
--- 800,804 ----
            {
            found = true;
+           reason = "Required regular expression found.";
            }
          }
***************
*** 805,819 ****
          { 
          reason = "Required regular expression not found.";
!         reason +=  "Regex=["; 
!         for ( passIt = it->RequiredRegularExpressions.begin();
              passIt != it->RequiredRegularExpressions.end();
              ++ passIt )
!           {
!           reason += passIt->second;
!           reason += "\n";
!           }
!         reason += "]";
!         forceFail = true;
          }
        }
      if ( it->ErrorRegularExpressions.size() > 0 )
--- 806,820 ----
          { 
          reason = "Required regular expression not found.";
!         forceFail = true;
!         }
!       reason +=  "Regex=["; 
!       for ( passIt = it->RequiredRegularExpressions.begin();
              passIt != it->RequiredRegularExpressions.end();
              ++ passIt )
!         {
!         reason += passIt->second;
!         reason += "\n";
          }
+       reason += "]";
        }
      if ( it->ErrorRegularExpressions.size() > 0 )
***************
*** 948,952 ****
        }
      }
! 
    cres.Output = output;
    cres.ReturnValue = retVal;
--- 949,953 ----
        }
      }
!   cres.Reason = reason;
    cres.Output = output;
    cres.ReturnValue = retVal;
***************
*** 1586,1589 ****
--- 1587,1603 ----
          << result->ExecutionTime
          << "</Value></NamedMeasurement>\n";
+       if(result->Reason.size())
+         { 
+         const char* reasonType = "Pass Reason";
+         if(result->Status != cmCTestTestHandler::COMPLETED &&
+            result->Status != cmCTestTestHandler::NOT_RUN)
+           {
+           reasonType = "Fail Reason";
+           }
+         os << "\t\t\t<NamedMeasurement type=\"text/string\" "
+            << "name=\"" << reasonType << "\"><Value>"
+            << cmXMLSafe(result->Reason)
+            << "</Value></NamedMeasurement>\n";
+         }
        os
          << "\t\t\t<NamedMeasurement type=\"text/string\" "

Index: cmCTestTestHandler.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -C 2 -d -r1.35 -r1.36
*** cmCTestTestHandler.h	10 Feb 2009 19:24:24 -0000	1.35
--- cmCTestTestHandler.h	24 Feb 2009 22:23:51 -0000	1.36
***************
*** 103,106 ****
--- 103,107 ----
      std::string Name;
      std::string Path;
+     std::string Reason;
      std::string FullCommandLine;
      double      ExecutionTime;



More information about the Cmake-commits mailing list