unify handling of reportcharacters across resultlog/junitxml plugins
--HG-- branch : trunk
This commit is contained in:
@@ -56,10 +56,15 @@ class LogXML(object):
|
||||
def append_failure(self, report):
|
||||
self._opentestcase(report)
|
||||
#msg = str(report.longrepr.reprtraceback.extraline)
|
||||
self.appendlog('<failure message="test failure">%s</failure>',
|
||||
report.longrepr)
|
||||
if "xfail" in report.keywords:
|
||||
self.appendlog(
|
||||
'<skipped message="xfail-marked test passes unexpectedly"/>')
|
||||
self.skipped += 1
|
||||
else:
|
||||
self.appendlog('<failure message="test failure">%s</failure>',
|
||||
report.longrepr)
|
||||
self.failed += 1
|
||||
self._closetestcase()
|
||||
self.failed += 1
|
||||
|
||||
def _opentestcase_collectfailure(self, report):
|
||||
node = report.collector
|
||||
@@ -95,7 +100,12 @@ class LogXML(object):
|
||||
|
||||
def append_skipped(self, report):
|
||||
self._opentestcase(report)
|
||||
self.appendlog("<skipped/>")
|
||||
if "xfail" in report.keywords:
|
||||
self.appendlog(
|
||||
'<skipped message="expected test failure">%s</skipped>',
|
||||
report.keywords['xfail'])
|
||||
else:
|
||||
self.appendlog("<skipped/>")
|
||||
self._closetestcase()
|
||||
self.skipped += 1
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ class ResultLog(object):
|
||||
code = report.shortrepr
|
||||
if code == 'x':
|
||||
longrepr = str(report.longrepr)
|
||||
elif code == 'P':
|
||||
elif code == 'X':
|
||||
longrepr = ''
|
||||
elif report.passed:
|
||||
longrepr = ""
|
||||
|
||||
@@ -225,7 +225,7 @@ def pytest_report_teststatus(report):
|
||||
if report.skipped:
|
||||
return "xfailed", "x", "xfail"
|
||||
elif report.failed:
|
||||
return "xpassed", "P", "XPASS"
|
||||
return "xpassed", "X", "XPASS"
|
||||
|
||||
# called by the terminalreporter instance/plugin
|
||||
def pytest_terminal_summary(terminalreporter):
|
||||
@@ -242,7 +242,7 @@ def pytest_terminal_summary(terminalreporter):
|
||||
for char in tr.reportchars:
|
||||
if char == "x":
|
||||
show_xfailed(terminalreporter, lines)
|
||||
elif char == "P":
|
||||
elif char == "X":
|
||||
show_xpassed(terminalreporter, lines)
|
||||
elif char == "f":
|
||||
show_failed(terminalreporter, lines)
|
||||
|
||||
Reference in New Issue
Block a user