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("/>") |