Add summary for xfails with -rxX option
This commit is contained in:
parent
8fb7e8b31e
commit
1ce234dc78
|
@ -878,8 +878,10 @@ class TerminalReporter:
|
|||
def pytest_terminal_summary(self) -> Generator[None, None, None]:
|
||||
self.summary_errors()
|
||||
self.summary_failures()
|
||||
self.summary_xfailures()
|
||||
self.summary_warnings()
|
||||
self.summary_passes()
|
||||
self.summary_xpasses()
|
||||
try:
|
||||
return (yield)
|
||||
finally:
|
||||
|
@ -1022,6 +1024,20 @@ class TerminalReporter:
|
|||
self._outrep_summary(rep)
|
||||
self._handle_teardown_sections(rep.nodeid)
|
||||
|
||||
def summary_xpasses(self) -> None:
|
||||
if self.config.option.tbstyle != "no":
|
||||
if self.hasopt("X"):
|
||||
reports: List[TestReport] = self.getreports("xpassed")
|
||||
if not reports:
|
||||
return
|
||||
self.write_sep("=", "XPASSES")
|
||||
for rep in reports:
|
||||
if rep.sections:
|
||||
msg = self._getfailureheadline(rep)
|
||||
self.write_sep("_", msg, green=True, bold=True)
|
||||
self._outrep_summary(rep)
|
||||
self._handle_teardown_sections(rep.nodeid)
|
||||
|
||||
def _get_teardown_reports(self, nodeid: str) -> List[TestReport]:
|
||||
reports = self.getreports("")
|
||||
return [
|
||||
|
@ -1064,6 +1080,25 @@ class TerminalReporter:
|
|||
self._outrep_summary(rep)
|
||||
self._handle_teardown_sections(rep.nodeid)
|
||||
|
||||
def summary_xfailures(self) -> None:
|
||||
if self.config.option.tbstyle != "no":
|
||||
if self.hasopt("x"):
|
||||
reports: List[BaseReport] = self.getreports("xfailed")
|
||||
if not reports:
|
||||
return
|
||||
self.write_sep("=", "XFAILURES")
|
||||
if self.config.option.tbstyle == "line":
|
||||
for rep in reports:
|
||||
line = self._getcrashline(rep)
|
||||
self.write_line(line)
|
||||
else:
|
||||
for rep in reports:
|
||||
msg = self._getfailureheadline(rep)
|
||||
self.write_sep("_", msg, red=True, bold=True)
|
||||
self._outrep_summary(rep)
|
||||
self._handle_teardown_sections(rep.nodeid)
|
||||
|
||||
|
||||
def summary_errors(self) -> None:
|
||||
if self.config.option.tbstyle != "no":
|
||||
reports: List[BaseReport] = self.getreports("error")
|
||||
|
|
Loading…
Reference in New Issue