4 from io import StringIO
5 from xml.etree import ElementTree
9 def _extractXml(self, log, xml):
15 if line.strip() == '</report>':
18 if line.strip() == '<?xml version="1.0"?>':
22 def __init__(self, log):
23 self._xml = StringIO()
24 self._extractXml(log, self._xml)
28 report = ElementTree.parse(self._xml).getroot()
29 summary = report[0].findall('summary')[0]
30 self._tests = summary.find('tcnt').text
31 self._executed = summary.find('exec').text
32 self._passed = summary.find('pass').text
33 self._failed = summary.find('fail').text
35 except ElementTree.ParseError as e:
39 def saveXml(self, filename):
40 with open(filename, "w") as file:
42 shutil.copyfileobj(self._xml, file)
44 def isAvailable(self):
49 return self._tests, self._executed, self._passed, self._failed