Don't allow test-suite names with . in them in xml output

llvm-svn: 223305
This commit is contained in:
Chris Matthews 2014-12-03 22:59:15 +00:00
parent 31ad468d03
commit abc7aacd7d
2 changed files with 8 additions and 6 deletions

View 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

View File

@ -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']) +