OSDN Git Service

Fix corner cases in lit xunit for paths with dots
authorChris Matthews <cmatthews5@apple.com>
Sat, 6 Dec 2014 00:21:08 +0000 (00:21 +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@223549 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 689f10d1b56f68fafd999debc86e0b58d2d5de80)

utils/lit/lit/Test.py

index b6dabe1..7f5d411 100644 (file)
@@ -200,9 +200,16 @@ class Test:
     def getJUnitXML(self):
         test_name = self.path_in_suite[-1]
         test_path = self.path_in_suite[:-1]
+        safe_test_path = [x.replace(".","_") for x in test_path]
         safe_name = self.suite.name.replace(".","-")
-        xml = "<testcase classname='" + safe_name + "." + \
-            "/".join(test_path) + "'" + " name='" + test_name + "'"
+
+        if safe_test_path:
+            class_name = safe_name + "." + "/".join(safe_test_path) 
+        else:
+            class_name = safe_name
+
+        xml = "<testcase classname='" + class_name + "' name='" + \
+            test_name + "'"
         xml += " time='%.2f'" % (self.result.elapsed,)
         if self.result.code.isFailure:
             xml += ">\n\t<failure >\n" + escape(self.result.output)