class Xunit: xml_escape_table = { "&": "&", '"': """, "'": "'", ">": ">", "<": "<", } results = [] fail_total = 0 def append_result (self,testname, runtime, returncode, testerr): result = { "testname": testname, "runtime" : runtime, "returncode": returncode, "testerr": testerr, } self.results.append(result) def xml_escape(self, text): return "".join(self.xml_escape_table.get(c,c) for c in text) def test_result_to_xml (self,result): self.fail_total = self.fail_total + len(result['testerr']) testxml = '' if ( result['returncode'] != 0) : testxml = testxml + '' + str(result['testerr']) + '' if self.fail_total == 0: self.fail_total=self.fail_total + 1 testxml = testxml + '\n' return testxml def generateXml(self, testname): xmlResults = list(map(lambda result: self.test_result_to_xml(result), self.results)) testHeader = '' + "\n" \ + '\n' print("Results: " + str(self.results)) testFooter ="\n" # Write xUnit.xml xUnit = open("xUnit-"+testname+".xml", "w+") xUnit.write(testHeader + ''.join(xmlResults) + testFooter) xUnit.close()