diff options
| -rw-r--r-- | llvm/utils/lit/lit/Test.py | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/utils/lit/lit/Test.py b/llvm/utils/lit/lit/Test.py index c6ab5056b4d..6bebb733d69 100644 --- a/llvm/utils/lit/lit/Test.py +++ b/llvm/utils/lit/lit/Test.py @@ -371,15 +371,19 @@ class Test:              class_name = safe_name + "." + "/".join(safe_test_path)           else:              class_name = safe_name + "." + safe_name -        testcase_template = u"<testcase classname='{class_name}' name='{test_name}' time='{time:.2f}'" +        testcase_template = "<testcase classname='{class_name}' name='{test_name}' time='{time:.2f}'"          elapsed_time = self.result.elapsed if self.result.elapsed is not None else 0.0          testcase_xml = testcase_template.format(class_name=class_name, test_name=test_name, time=elapsed_time)          fil.write(testcase_xml)          if self.result.code.isFailure: -            fil.write(u">\n\t<failure ><![CDATA[") -            fil.write(self.result.output) -            fil.write(u"]]></failure>\n</testcase>") +            fil.write(">\n\t<failure ><![CDATA[") +            if type(self.result.output) == unicode: +                encoded_output = self.result.output.encode("utf-8", 'ignore') +            else: +                encoded_output = self.result.output +            fil.write(encoded_output) +            fil.write("]]></failure>\n</testcase>")          elif self.result.code == UNSUPPORTED: -            fil.write(u">\n\t<skipped />\n</testcase>\n") +            fil.write(">\n\t<skipped />\n</testcase>\n")          else: -            fil.write(u"/>") +            fil.write("/>")  | 

