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

View File

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

View File

@ -22,7 +22,6 @@
#include <cmsys/FStream.hxx>
#include "cmDynamicLoader.h"
#include "cmGeneratedFileStream.h"
#include "cmXMLSafe.h"
#include "cmVersionMacros.h"
#include "cmCTestCommand.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);
}
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, "");
}
}
safevalue = cmXMLSafe(safevalue).str();
}
if (safevalue == "")