CTest: Fix XML double-encoding cases

Remove use of cmXMLSafe from CTest when generating content that is later
handled by cmXMLWriter.  This was broken by refactoring in the topic
merged by commit v3.3.0-rc1~22 (Merge topic 'ctest-xml-refactor',
2015-05-28).
This commit is contained in:
Daniel Pfeifer 2015-07-16 21:48:00 +02:00 committed by Brad King
parent dee84dc73d
commit ab2524d63f
3 changed files with 8 additions and 15 deletions

View File

@ -80,8 +80,8 @@ public:
int i = 0; int i = 0;
for(; atts[i] != 0; i+=2) for(; atts[i] != 0; i+=2)
{ {
ostr << " " << cmXMLSafe(atts[i]) ostr << " " << atts[i]
<< " - " << cmXMLSafe(atts[i+1]) << "\n"; << " - " << atts[i+1] << "\n";
} }
ostr << "\n"; ostr << "\n";
this->Log += ostr.str(); this->Log += ostr.str();
@ -856,7 +856,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckSanitizerOutput(
defects++; defects++;
ostr << "<b>" << this->ResultStrings[idx] << "</b> "; ostr << "<b>" << this->ResultStrings[idx] << "</b> ";
} }
ostr << cmXMLSafe(*i) << std::endl; ostr << *i << std::endl;
} }
log = ostr.str(); log = ostr.str();
if(defects) if(defects)
@ -908,7 +908,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckPurifyOutput(
results[failure] ++; results[failure] ++;
defects ++; defects ++;
} }
ostr << cmXMLSafe(*i) << std::endl; ostr << *i << std::endl;
} }
log = ostr.str(); log = ostr.str();
@ -1056,7 +1056,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
defects ++; defects ++;
} }
totalOutputSize += lines[cc].size(); totalOutputSize += lines[cc].size();
ostr << cmXMLSafe(lines[cc]) << std::endl; ostr << lines[cc] << std::endl;
} }
else else
{ {
@ -1070,11 +1070,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
nonValGrindOutput.begin(); i != nonValGrindOutput.end(); ++i) nonValGrindOutput.begin(); i != nonValGrindOutput.end(); ++i)
{ {
totalOutputSize += lines[*i].size(); totalOutputSize += lines[*i].size();
cmCTestOptionalLog(this->CTest, DEBUG, "before xml safe " ostr << lines[*i] << std::endl;
<< lines[*i] << std::endl, this->Quiet);
cmCTestOptionalLog(this->CTest, DEBUG, "after xml safe "
<< cmXMLSafe(lines[*i]) << std::endl, this->Quiet);
ostr << cmXMLSafe(lines[*i]) << std::endl;
if(!unlimitedOutput && totalOutputSize > if(!unlimitedOutput && totalOutputSize >
static_cast<size_t>(this->CustomMaximumFailedTestOutputSize)) static_cast<size_t>(this->CustomMaximumFailedTestOutputSize))
{ {

View File

@ -2070,7 +2070,7 @@ bool cmCTestTestHandler::CleanTestOutput(std::string& output, size_t length)
} }
current = next; current = next;
} }
else // Bad byte will be handled by cmXMLSafe. else // Bad byte will be handled by cmXMLWriter.
{ {
++current; ++current;
} }

View File

@ -22,7 +22,6 @@
#include <cmsys/FStream.hxx> #include <cmsys/FStream.hxx>
#include "cmDynamicLoader.h" #include "cmDynamicLoader.h"
#include "cmGeneratedFileStream.h" #include "cmGeneratedFileStream.h"
#include "cmXMLSafe.h"
#include "cmVersionMacros.h" #include "cmVersionMacros.h"
#include "cmCTestCommand.h" #include "cmCTestCommand.h"
#include "cmCTestStartCommand.h" #include "cmCTestStartCommand.h"
@ -156,7 +155,7 @@ std::string cmCTest::CurrentTime()
strftime(current_time, 1000, "%a %b %d %H:%M:%S %Z %Y", t); strftime(current_time, 1000, "%a %b %d %H:%M:%S %Z %Y", t);
} }
cmCTestLog(this, DEBUG, " Current_Time: " << current_time << std::endl); cmCTestLog(this, DEBUG, " Current_Time: " << current_time << std::endl);
return cmXMLSafe(cmCTest::CleanString(current_time)).str(); return cmCTest::CleanString(current_time);
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@ -1477,8 +1476,6 @@ std::string cmCTest::SafeBuildIdField(const std::string& value)
cmSystemTools::ReplaceString(safevalue, replace, ""); cmSystemTools::ReplaceString(safevalue, replace, "");
} }
} }
safevalue = cmXMLSafe(safevalue).str();
} }
if (safevalue == "") if (safevalue == "")