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]:
|
def pytest_terminal_summary(self) -> Generator[None, None, None]:
|
||||||
self.summary_errors()
|
self.summary_errors()
|
||||||
self.summary_failures()
|
self.summary_failures()
|
||||||
|
self.summary_xfailures()
|
||||||
self.summary_warnings()
|
self.summary_warnings()
|
||||||
self.summary_passes()
|
self.summary_passes()
|
||||||
|
self.summary_xpasses()
|
||||||
try:
|
try:
|
||||||
return (yield)
|
return (yield)
|
||||||
finally:
|
finally:
|
||||||
|
@ -1022,6 +1024,20 @@ class TerminalReporter:
|
||||||
self._outrep_summary(rep)
|
self._outrep_summary(rep)
|
||||||
self._handle_teardown_sections(rep.nodeid)
|
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]:
|
def _get_teardown_reports(self, nodeid: str) -> List[TestReport]:
|
||||||
reports = self.getreports("")
|
reports = self.getreports("")
|
||||||
return [
|
return [
|
||||||
|
@ -1064,6 +1080,25 @@ class TerminalReporter:
|
||||||
self._outrep_summary(rep)
|
self._outrep_summary(rep)
|
||||||
self._handle_teardown_sections(rep.nodeid)
|
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:
|
def summary_errors(self) -> None:
|
||||||
if self.config.option.tbstyle != "no":
|
if self.config.option.tbstyle != "no":
|
||||||
reports: List[BaseReport] = self.getreports("error")
|
reports: List[BaseReport] = self.getreports("error")
|
||||||
|
|
Loading…
Reference in New Issue