|
|
@@ -1,51 +0,0 @@
|
|
|
-#! python
|
|
|
-
|
|
|
-import shutil
|
|
|
-from StringIO import StringIO
|
|
|
-from xml.etree import ElementTree
|
|
|
-
|
|
|
-class TestResult:
|
|
|
-
|
|
|
- def _extractXml(self, log, xml):
|
|
|
- dump = False
|
|
|
- log.seek(0)
|
|
|
- for line in log:
|
|
|
- if dump:
|
|
|
- xml.write(line)
|
|
|
- if line.strip() == '</report>':
|
|
|
- dump = False
|
|
|
- else:
|
|
|
- if line.strip() == '<?xml version="1.0"?>':
|
|
|
- dump = True
|
|
|
- xml.write(line)
|
|
|
-
|
|
|
- def __init__(self, log):
|
|
|
- self._xml = StringIO()
|
|
|
- self._extractXml(log, self._xml)
|
|
|
- self._xml.seek(0)
|
|
|
-
|
|
|
- try:
|
|
|
- report = ElementTree.parse(self._xml).getroot()
|
|
|
- summary = report[0].findall('summary')[0]
|
|
|
- self._tests = summary.find('tcnt').text
|
|
|
- self._executed = summary.find('exec').text
|
|
|
- self._passed = summary.find('pass').text
|
|
|
- self._failed = summary.find('fail').text
|
|
|
- self._avail = True
|
|
|
- except ElementTree.ParseError as e:
|
|
|
- self._avail = False
|
|
|
- self._except = e
|
|
|
-
|
|
|
- def saveXml(self, filename):
|
|
|
- with open(filename, "w") as file:
|
|
|
- self._xml.seek(0)
|
|
|
- shutil.copyfileobj(self._xml, file)
|
|
|
-
|
|
|
- def isAvailable(self):
|
|
|
- return self._avail
|
|
|
-
|
|
|
- def getSummary(self):
|
|
|
- if self._avail:
|
|
|
- return self._tests, self._executed, self._passed, self._failed
|
|
|
- else:
|
|
|
- raise self._except
|