[cmake-commits] hoffman committed cmCTestTestHandler.cxx 1.57 1.58
cmCTestTestHandler.h 1.24 1.25
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Sep 19 11:16:59 EDT 2007
Update of /cvsroot/CMake/CMake/Source/CTest
In directory public:/mounts/ram/cvs-serv29645/Source/CTest
Modified Files:
cmCTestTestHandler.cxx cmCTestTestHandler.h
Log Message:
ENH: fix failing test when valgrind is on
Index: cmCTestTestHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.cxx,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- cmCTestTestHandler.cxx 17 Sep 2007 14:40:57 -0000 1.57
+++ cmCTestTestHandler.cxx 19 Sep 2007 15:16:57 -0000 1.58
@@ -655,11 +655,11 @@
cres.ExecutionTime = (double)(clock_finish - clock_start);
cres.FullCommandLine = testCommand;
-
+ std::string reason;
if ( !this->CTest->GetShowOnly() )
{
bool testFailed = false;
- std::vector<cmsys::RegularExpression>::iterator passIt;
+ std::vector<std::pair<cmsys::RegularExpression,std::string> >::iterator passIt;
bool forceFail = false;
if ( it->RequiredRegularExpressions.size() > 0 )
{
@@ -668,13 +668,17 @@
passIt != it->RequiredRegularExpressions.end();
++ passIt )
{
- if ( passIt->find(output.c_str()) )
+ if ( passIt->first.find(output.c_str()) )
{
found = true;
}
}
if ( !found )
- {
+ {
+ reason = "Required regular expression not found.";
+ reason += "Regex=[";
+ reason += passIt->second;
+ reason += "]";
forceFail = true;
}
}
@@ -684,8 +688,12 @@
passIt != it->ErrorRegularExpressions.end();
++ passIt )
{
- if ( passIt->find(output.c_str()) )
+ if ( passIt->first.find(output.c_str()) )
{
+ reason = "Error regular expression found in output.";
+ reason += " Regex=[";
+ reason += passIt->second;
+ reason += "]";
forceFail = true;
}
}
@@ -701,7 +709,7 @@
cmCTestLog(this->CTest, HANDLER_OUTPUT, " - But it should fail!");
cres.Status = cmCTestTestHandler::FAILED;
testFailed = true;
- }
+ }
else
{
cres.Status = cmCTestTestHandler::COMPLETED;
@@ -754,7 +762,7 @@
else
{
// Force fail will also be here?
- cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Failed");
+ cmCTestLog(this->CTest, HANDLER_OUTPUT, "***Failed " << reason);
if ( it->WillFail )
{
cres.Status = cmCTestTestHandler::COMPLETED;
@@ -1729,7 +1737,9 @@
for ( crit = lval.begin(); crit != lval.end(); ++ crit )
{
rtit->ErrorRegularExpressions.push_back(
- cmsys::RegularExpression(crit->c_str()));
+ std::pair<cmsys::RegularExpression, std::string>(
+ cmsys::RegularExpression(crit->c_str()),
+ std::string(crit->c_str())));
}
}
if ( key == "MEASUREMENT" )
@@ -1754,7 +1764,9 @@
for ( crit = lval.begin(); crit != lval.end(); ++ crit )
{
rtit->RequiredRegularExpressions.push_back(
- cmsys::RegularExpression(crit->c_str()));
+ std::pair<cmsys::RegularExpression, std::string>(
+ cmsys::RegularExpression(crit->c_str()),
+ std::string(crit->c_str())));
}
}
}
Index: cmCTestTestHandler.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestTestHandler.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- cmCTestTestHandler.h 24 Jul 2007 18:43:31 -0000 1.24
+++ cmCTestTestHandler.h 19 Sep 2007 15:16:57 -0000 1.25
@@ -80,8 +80,8 @@
cmStdString Name;
cmStdString Directory;
std::vector<std::string> Args;
- std::vector<cmsys::RegularExpression> ErrorRegularExpressions;
- std::vector<cmsys::RegularExpression> RequiredRegularExpressions;
+ std::vector<std::pair<cmsys::RegularExpression,std::string> > ErrorRegularExpressions;
+ std::vector<std::pair<cmsys::RegularExpression,std::string> > RequiredRegularExpressions;
std::map<cmStdString, cmStdString> Measurements;
bool IsInBasedOnREOptions;
bool WillFail;
More information about the Cmake-commits
mailing list