summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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";
}
}