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.
This commit is contained in:
parent
d7770578d1
commit
8f8c1edca2
@ -220,7 +220,7 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
|
|||||||
{
|
{
|
||||||
outputTestErrorsToConsole = this->CTest->OutputTestOutputOnTestFailure;
|
outputTestErrorsToConsole = this->CTest->OutputTestOutputOnTestFailure;
|
||||||
cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Exception: ");
|
cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Exception: ");
|
||||||
switch ( retVal )
|
switch(this->TestProcess->GetExitException())
|
||||||
{
|
{
|
||||||
case cmsysProcess_Exception_Fault:
|
case cmsysProcess_Exception_Fault:
|
||||||
cmCTestLog(this->CTest, HANDLER_OUTPUT, "SegFault");
|
cmCTestLog(this->CTest, HANDLER_OUTPUT, "SegFault");
|
||||||
|
@ -264,3 +264,9 @@ int cmProcess::ReportStatus()
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int cmProcess::GetExitException()
|
||||||
|
{
|
||||||
|
return cmsysProcess_GetExitException(this->Process);
|
||||||
|
}
|
||||||
|
@ -43,7 +43,7 @@ public:
|
|||||||
void SetId(int id) { this->Id = id;}
|
void SetId(int id) { this->Id = id;}
|
||||||
int GetExitValue() { return this->ExitValue;}
|
int GetExitValue() { return this->ExitValue;}
|
||||||
double GetTotalTime() { return this->TotalTime;}
|
double GetTotalTime() { return this->TotalTime;}
|
||||||
|
int GetExitException();
|
||||||
/**
|
/**
|
||||||
* Read one line of output but block for no more than timeout.
|
* Read one line of output but block for no more than timeout.
|
||||||
* Returns:
|
* Returns:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user