[Cmake-commits] [cmake-commits] king committed cmCTestTestHandler.cxx 1.94 1.95
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu Jul 2 16:13:57 EDT 2009
Update of /cvsroot/CMake/CMake/Source/CTest
In directory public:/mounts/ram/cvs-serv16391/Source/CTest
Modified Files:
cmCTestTestHandler.cxx
Log Message:
ENH: Reports "Passed" for WILL_FAIL tests
Previously tests marked with WILL_FAIL have been reported by CTest as
...............***Failed - supposed to fail
when they correctly failed. Now we just report ".....Passed" because
there is no reason to draw attention to something that works as
expected.
Index: cmCTestTestHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.cxx,v
retrieving revision 1.94
retrieving revision 1.95
diff -C 2 -d -r1.94 -r1.95
*** cmCTestTestHandler.cxx 27 Feb 2009 21:28:07 -0000 1.94
--- cmCTestTestHandler.cxx 2 Jul 2009 20:13:55 -0000 1.95
***************
*** 769,773 ****
if ( !this->CTest->GetShowOnly() )
{
- bool testFailed = false;
std::vector<std::pair<cmsys::RegularExpression,
std::string> >::iterator passIt;
--- 769,772 ----
***************
*** 817,902 ****
}
}
!
! if (res == cmsysProcess_State_Exited &&
! (retVal == 0 || it->RequiredRegularExpressions.size()) &&
! !forceFail)
{
! cmCTestLog(this->CTest, HANDLER_OUTPUT, " Passed");
! if ( it->WillFail )
{
! cmCTestLog(this->CTest, HANDLER_OUTPUT, " - But it should fail!");
! cres.Status = cmCTestTestHandler::FAILED;
! testFailed = true;
}
else
{
! cres.Status = cmCTestTestHandler::COMPLETED;
}
- cmCTestLog(this->CTest, HANDLER_OUTPUT, std::endl);
}
! else
{
! testFailed = true;
!
! cres.Status = cmCTestTestHandler::FAILED;
! if ( res == cmsysProcess_State_Expired )
! {
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Timeout" << std::endl);
! cres.Status = cmCTestTestHandler::TIMEOUT;
! }
! else if ( res == cmsysProcess_State_Exception )
! {
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Exception: ");
! switch ( retVal )
! {
! case cmsysProcess_Exception_Fault:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "SegFault");
! cres.Status = cmCTestTestHandler::SEGFAULT;
! break;
! case cmsysProcess_Exception_Illegal:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Illegal");
! cres.Status = cmCTestTestHandler::ILLEGAL;
! break;
! case cmsysProcess_Exception_Interrupt:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Interrupt");
! cres.Status = cmCTestTestHandler::INTERRUPT;
! break;
! case cmsysProcess_Exception_Numerical:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Numerical");
! cres.Status = cmCTestTestHandler::NUMERICAL;
! break;
! default:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Other");
! cres.Status = cmCTestTestHandler::OTHER_FAULT;
! }
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::endl);
! }
! else if ( res == cmsysProcess_State_Error )
! {
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Bad command " << res
! << std::endl);
! cres.Status = cmCTestTestHandler::BAD_COMMAND;
! }
! else
{
! // Force fail will also be here?
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Failed " << reason);
! if ( it->WillFail )
! {
! cres.Status = cmCTestTestHandler::COMPLETED;
! cmCTestLog(this->CTest, HANDLER_OUTPUT, " - supposed to fail");
! testFailed = false;
! }
! cmCTestLog(this->CTest, HANDLER_OUTPUT, std::endl);
}
}
! if ( testFailed )
{
! failed.push_back(testname);
}
! else
{
passed.push_back(testname);
}
if (!output.empty() && output.find("<DartMeasurement") != output.npos)
{
--- 816,883 ----
}
}
!
! if (res == cmsysProcess_State_Exited)
{
! bool success =
! !forceFail && (retVal == 0 || it->RequiredRegularExpressions.size());
! if((success && !it->WillFail) || (!success && it->WillFail))
{
! cres.Status = cmCTestTestHandler::COMPLETED;
! cmCTestLog(this->CTest, HANDLER_OUTPUT, " Passed" << std::endl);
}
else
{
! cres.Status = cmCTestTestHandler::FAILED;
! cmCTestLog(this->CTest, HANDLER_OUTPUT,
! "***Failed " << reason << std::endl);
}
}
! else if ( res == cmsysProcess_State_Expired )
{
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Timeout" << std::endl);
! cres.Status = cmCTestTestHandler::TIMEOUT;
! }
! else if ( res == cmsysProcess_State_Exception )
! {
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Exception: ");
! switch ( retVal )
{
! case cmsysProcess_Exception_Fault:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "SegFault");
! cres.Status = cmCTestTestHandler::SEGFAULT;
! break;
! case cmsysProcess_Exception_Illegal:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Illegal");
! cres.Status = cmCTestTestHandler::ILLEGAL;
! break;
! case cmsysProcess_Exception_Interrupt:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Interrupt");
! cres.Status = cmCTestTestHandler::INTERRUPT;
! break;
! case cmsysProcess_Exception_Numerical:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Numerical");
! cres.Status = cmCTestTestHandler::NUMERICAL;
! break;
! default:
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "Other");
! cres.Status = cmCTestTestHandler::OTHER_FAULT;
}
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, std::endl);
}
! else // if ( res == cmsysProcess_State_Error )
{
! cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Bad command " << res
! << std::endl);
! cres.Status = cmCTestTestHandler::BAD_COMMAND;
}
!
! if(cres.Status == cmCTestTestHandler::COMPLETED)
{
passed.push_back(testname);
}
+ else
+ {
+ failed.push_back(testname);
+ }
if (!output.empty() && output.find("<DartMeasurement") != output.npos)
{
More information about the Cmake-commits
mailing list