summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestMemCheckHandler.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2009-05-27 15:14:08 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2009-05-27 15:14:08 (GMT)
commitbd1e91a460bfbd2ccd629181e7c5382feaa9483f (patch)
tree39361166ebdee0ba2bd3b126c3b52efb2cd47a0a /Source/CTest/cmCTestMemCheckHandler.cxx
parentca68d116e055dfc34ca2d75a48cd7988af148b04 (diff)
downloadCMake-bd1e91a460bfbd2ccd629181e7c5382feaa9483f.zip
CMake-bd1e91a460bfbd2ccd629181e7c5382feaa9483f.tar.gz
CMake-bd1e91a460bfbd2ccd629181e7c5382feaa9483f.tar.bz2
BUG: fix for bug #8153 add purify suppression file and fix output to not be one big line
Diffstat (limited to 'Source/CTest/cmCTestMemCheckHandler.cxx')
-rw-r--r--Source/CTest/cmCTestMemCheckHandler.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 12d178d..eabc6cf 100644
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -494,6 +494,22 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
cmSystemTools::EscapeSpaces(this->MemoryTesterOutputFile.c_str());
#ifdef _WIN32
+ if( this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").size() )
+ {
+ if( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str()) )
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Cannot find memory checker suppression file: "
+ << this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str() << std::endl);
+ return false;
+ }
+ this->MemoryTesterOptions += " /FilterFiles=" +
+ cmSystemTools::EscapeSpaces(this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str());
+ }
this->MemoryTesterOptions += " /SAVETEXTDATA=" + outputFile;
#else
this->MemoryTesterOptions += " -log-file=" + outputFile;
@@ -941,5 +957,6 @@ cmCTestMemCheckHandler::PostProcessPurifyTest(cmCTestTestResult& res)
while ( cmSystemTools::GetLineFromStream(ifs, line) )
{
res.Output += line;
+ res.Output += "\n";
}
}