OSDN Git Service

Don't allow test-suite names with . in them in xml output
authorChris Matthews <cmatthews5@apple.com>
Wed, 3 Dec 2014 22:59:15 +0000 (22:59 +0000)
committerDan Albert <danalbert@google.com>
Thu, 8 Jan 2015 22:44:27 +0000 (14:44 -0800)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223305 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 06a1a5f256cabe6d20cf745cd93b389815c988a9)

utils/lit/lit/Test.py
utils/lit/lit/main.py

index 2e0f478..b6dabe1 100644 (file)
@@ -200,12 +200,13 @@ class Test:
     def getJUnitXML(self):
         test_name = self.path_in_suite[-1]
         test_path = self.path_in_suite[:-1]
-        xml = "<testcase classname='" + self.suite.name + "." + "/".join(test_path) + "'" + " name='" + test_name + "'"
+        safe_name = self.suite.name.replace(".","-")
+        xml = "<testcase classname='" + safe_name + "." + \
+            "/".join(test_path) + "'" + " name='" + test_name + "'"
         xml += " time='%.2f'" % (self.result.elapsed,)
         if self.result.code.isFailure:
-          xml += ">\n\t<failure >\n" + escape(self.result.output)
-          xml += "\n\t</failure>\n</testcase>"
+            xml += ">\n\t<failure >\n" + escape(self.result.output)
+            xml += "\n\t</failure>\n</testcase>"
         else:
-          xml += "/>"
+            xml += "/>"
         return xml
\ No newline at end of file
index 90f724e..f2aedc9 100755 (executable)
@@ -444,7 +444,8 @@ def main(builtinParameters = {}):
         xunit_output_file.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n")
         xunit_output_file.write("<testsuites>\n")
         for suite_name, suite in by_suite.items():
-            xunit_output_file.write("<testsuite name='" + suite_name + "'")
+            safe_suite_name = suite_name.replace(".", "-")
+            xunit_output_file.write("<testsuite name='" + safe_suite_name + "'")
             xunit_output_file.write(" tests='" + str(suite['passes'] + 
               suite['failures']) + "'")
             xunit_output_file.write(" failures='" + str(suite['failures']) +