Explorar o código

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).
Daniel Pfeifer %!s(int64=10) %!d(string=hai) anos
pai
achega
ab2524d63f

+ 6 - 10
Source/CTest/cmCTestMemCheckHandler.cxx

@@ -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))
       {

+ 1 - 1
Source/CTest/cmCTestTestHandler.cxx

@@ -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;
       }

+ 1 - 4
Source/cmCTest.cxx

@@ -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 == "")