Add acceptance test for plugins which log tests multiple times

Fix #206
This commit is contained in:
Bruno Oliveira
2017-08-10 11:18:52 -03:00
parent f8e138b986
commit 2adf810e5e
2 changed files with 28 additions and 0 deletions

View File

@@ -502,6 +502,32 @@ def test_crashing_item(testdir, when):
])
def test_multiple_log_reports(testdir):
"""
Ensure that pytest-xdist supports plugins that emit multiple logreports
(#206).
Inspired by pytest-rerunfailures.
"""
testdir.makeconftest("""
from _pytest.runner import runtestprotocol
def pytest_runtest_protocol(item, nextitem):
item.ihook.pytest_runtest_logstart(nodeid=item.nodeid,
location=item.location)
reports = runtestprotocol(item, nextitem=nextitem)
for report in reports:
item.ihook.pytest_runtest_logreport(report=report)
return True
""")
testdir.makepyfile("""
def test():
pass
""")
result = testdir.runpytest("-n1")
result.stdout.fnmatch_lines([
"*2 passed*",
])
def test_skipping(testdir):
p = testdir.makepyfile("""
import pytest