diff options
Diffstat (limited to 'Source/CTest/cmCTestMemCheckHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestMemCheckHandler.cxx | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx index ed57949..ced7982 100644 --- a/Source/CTest/cmCTestMemCheckHandler.cxx +++ b/Source/CTest/cmCTestMemCheckHandler.cxx @@ -1127,7 +1127,13 @@ cmCTestMemCheckHandler::PostProcessTest(cmCTestTestResult& res, } else { - this->AppendMemTesterOutput(res, test); + std::vector<std::string> files; + this->TestOutputFileNames(test, files); + for(std::vector<std::string>::iterator i = files.begin(); + i != files.end(); ++i) + { + this->AppendMemTesterOutput(res, *i); + } } } @@ -1141,11 +1147,13 @@ cmCTestMemCheckHandler::PostProcessBoundsCheckerTest(cmCTestTestResult& res, cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "PostProcessBoundsCheckerTest for : " << res.Name << std::endl); - std::string ofile = this->TestOutputFileName(test); - if ( ofile.empty() ) + std::vector<std::string> files; + this->TestOutputFileNames(test, files); + if ( files.size() == 0 ) { return; } + std::string ofile = files[0]; // put a scope around this to close ifs so the file can be removed { cmsys::ifstream ifs(ofile.c_str()); @@ -1175,9 +1183,8 @@ cmCTestMemCheckHandler::PostProcessBoundsCheckerTest(cmCTestTestResult& res, void cmCTestMemCheckHandler::AppendMemTesterOutput(cmCTestTestResult& res, - int test) + std::string const& ofile) { - std::string ofile = this->TestOutputFileName(test); if ( ofile.empty() ) { return; @@ -1205,8 +1212,9 @@ cmCTestMemCheckHandler::AppendMemTesterOutput(cmCTestTestResult& res, } } -std::string -cmCTestMemCheckHandler::TestOutputFileName(int test) +void cmCTestMemCheckHandler::TestOutputFileNames(int test, + std::vector<std::string>& + files) { std::string index; cmOStringStream stream; @@ -1229,7 +1237,8 @@ cmCTestMemCheckHandler::TestOutputFileName(int test) } else { - ofile = g.GetFiles()[0]; + files = g.GetFiles(); + return; } } else if ( !cmSystemTools::FileExists(ofile.c_str()) ) @@ -1239,5 +1248,5 @@ cmCTestMemCheckHandler::TestOutputFileName(int test) cmCTestLog(this->CTest, ERROR_MESSAGE, log.c_str() << std::endl); ofile = ""; } - return ofile; + files.push_back(ofile); } |