44
55import pkg_resources
66import pytest
7- from _pytest .resultlog import ResultLog
87from _pytest .runner import runtestprotocol
98
109PYTEST_GTE_54 = pkg_resources .parse_version (
1110 pytest .__version__
1211) >= pkg_resources .parse_version ("5.4" )
1312
13+ PYTEST_GTE_61 = pkg_resources .parse_version (
14+ pytest .__version__
15+ ) >= pkg_resources .parse_version ("6.1" )
16+
1417
1518def works_with_current_xdist ():
1619 """Returns compatibility with installed pytest-xdist version.
@@ -72,7 +75,9 @@ def pytest_configure(config):
7275
7376
7477def _get_resultlog (config ):
75- if PYTEST_GTE_54 :
78+ if PYTEST_GTE_61 :
79+ return None
80+ elif PYTEST_GTE_54 :
7681 # hack
7782 from _pytest .resultlog import resultlog_key
7883
@@ -82,7 +87,9 @@ def _get_resultlog(config):
8287
8388
8489def _set_resultlog (config , resultlog ):
85- if PYTEST_GTE_54 :
90+ if PYTEST_GTE_61 :
91+ pass
92+ elif PYTEST_GTE_54 :
8693 # hack
8794 from _pytest .resultlog import resultlog_key
8895
@@ -299,32 +306,35 @@ def show_rerun(terminalreporter, lines):
299306 lines .append ("RERUN {}" .format (pos ))
300307
301308
302- class RerunResultLog (ResultLog ):
303- def __init__ (self , config , logfile ):
304- ResultLog .__init__ (self , config , logfile )
305-
306- def pytest_runtest_logreport (self , report ):
307- """
308- Adds support for rerun report fix for issue:
309- https://github.com/pytest-dev/pytest-rerunfailures/issues/28
310- """
311- if report .when != "call" and report .passed :
312- return
313- res = self .config .hook .pytest_report_teststatus (report = report )
314- code = res [1 ]
315- if code == "x" :
316- longrepr = str (report .longrepr )
317- elif code == "X" :
318- longrepr = ""
319- elif report .passed :
320- longrepr = ""
321- elif report .failed :
322- longrepr = str (report .longrepr )
323- elif report .skipped :
324- longrepr = str (report .longrepr [2 ])
325- elif report .outcome == "rerun" :
326- longrepr = str (report .longrepr )
327- else :
328- longrepr = str (report .longrepr )
309+ if not PYTEST_GTE_61 :
310+ from _pytest .resultlog import ResultLog
311+
312+ class RerunResultLog (ResultLog ):
313+ def __init__ (self , config , logfile ):
314+ ResultLog .__init__ (self , config , logfile )
315+
316+ def pytest_runtest_logreport (self , report ):
317+ """
318+ Adds support for rerun report fix for issue:
319+ https://github.com/pytest-dev/pytest-rerunfailures/issues/28
320+ """
321+ if report .when != "call" and report .passed :
322+ return
323+ res = self .config .hook .pytest_report_teststatus (report = report )
324+ code = res [1 ]
325+ if code == "x" :
326+ longrepr = str (report .longrepr )
327+ elif code == "X" :
328+ longrepr = ""
329+ elif report .passed :
330+ longrepr = ""
331+ elif report .failed :
332+ longrepr = str (report .longrepr )
333+ elif report .skipped :
334+ longrepr = str (report .longrepr [2 ])
335+ elif report .outcome == "rerun" :
336+ longrepr = str (report .longrepr )
337+ else :
338+ longrepr = str (report .longrepr )
329339
330- self .log_outcome (report , code , longrepr )
340+ self .log_outcome (report , code , longrepr )
0 commit comments