Ver Fonte

Fix for bug #10859, ctest exit exception incorrectly reported.

CTest was using the return value from the program instead of the
exit exception value for the process.
Bill Hoffman há 15 anos atrás
pai
commit
8f8c1edca2

+ 1 - 1
Source/CTest/cmCTestRunTest.cxx

@@ -220,7 +220,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
     {
     outputTestErrorsToConsole = this->CTest->OutputTestOutputOnTestFailure;
     cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Exception: ");
-    switch ( retVal )
+    switch(this->TestProcess->GetExitException())
       {
       case cmsysProcess_Exception_Fault:
         cmCTestLog(this->CTest, HANDLER_OUTPUT, "SegFault");

+ 6 - 0
Source/CTest/cmProcess.cxx

@@ -264,3 +264,9 @@ int cmProcess::ReportStatus()
   return result;
 
 }
+
+
+int cmProcess::GetExitException()
+{
+  return cmsysProcess_GetExitException(this->Process);
+}

+ 1 - 1
Source/CTest/cmProcess.h

@@ -43,7 +43,7 @@ public:
   void SetId(int id) { this->Id = id;}
   int GetExitValue() { return this->ExitValue;}
   double GetTotalTime() { return this->TotalTime;}
-
+  int GetExitException();
   /**
    * Read one line of output but block for no more than timeout.
    * Returns: