blob: 6e24d6dc329650559278aaf5c10c2b8ea7857a14 [file] [log] [blame]
Jonatan Antoni8105ff92017-09-12 13:54:40 +02001#! python
2
3import shutil
4from StringIO import StringIO
5from xml.etree import ElementTree
6
7class TestResult:
8
9 def _extractXml(self, log, xml):
10 dump = False
11 log.seek(0)
12 for line in log:
13 if dump:
14 xml.write(line)
15 if line.strip() == '</report>':
16 dump = False
17 else:
18 if line.strip() == '<?xml version="1.0"?>':
19 dump = True
20 xml.write(line)
21
22 def __init__(self, log):
23 self._xml = StringIO()
24 self._extractXml(log, self._xml)
25 self._xml.seek(0)
26
27 report = ElementTree.parse(self._xml).getroot()
28 summary = report[0].findall('summary')[0]
29 self._tests = summary.find('tcnt').text
30 self._executed = summary.find('exec').text
31 self._passed = summary.find('pass').text
32 self._failed = summary.find('fail').text
33
34 def saveXml(self, filename):
35 with open(filename, "w") as file:
36 self._xml.seek(0)
37 shutil.copyfileobj(self._xml, file)
38
39 def getSummary(self):
40 return self._tests, self._executed, self._passed, self._failed