Merge remote-tracking branch 'upstream/master' into ethanhs/silencenodes
This commit is contained in:
1
changelog/378.bugfix.rst
Normal file
1
changelog/378.bugfix.rst
Normal file
@@ -0,0 +1 @@
|
||||
Fix support for gevent monkeypatching
|
||||
1
changelog/384.bugfix.rst
Normal file
1
changelog/384.bugfix.rst
Normal file
@@ -0,0 +1 @@
|
||||
Add support for pytest 4.1.
|
||||
@@ -541,16 +541,15 @@ def test_session_testscollected(testdir):
|
||||
assert collected_file.read() == "collected = 3"
|
||||
|
||||
|
||||
def test_funcarg_teardown_failure(testdir):
|
||||
def test_fixture_teardown_failure(testdir):
|
||||
p = testdir.makepyfile(
|
||||
"""
|
||||
import pytest
|
||||
@pytest.fixture
|
||||
@pytest.fixture(scope="module")
|
||||
def myarg(request):
|
||||
def teardown(val):
|
||||
raise ValueError(val)
|
||||
return request.cached_setup(setup=lambda: 42, teardown=teardown,
|
||||
scope="module")
|
||||
yield 42
|
||||
raise ValueError(42)
|
||||
|
||||
def test_hello(myarg):
|
||||
pass
|
||||
"""
|
||||
@@ -636,6 +635,11 @@ def test_skipping(testdir):
|
||||
|
||||
|
||||
def test_issue34_pluginloading_in_subprocess(testdir):
|
||||
import _pytest.hookspec
|
||||
|
||||
if not hasattr(_pytest.hookspec, "pytest_namespace"):
|
||||
pytest.skip("this pytest version no longer supports pytest_namespace()")
|
||||
|
||||
testdir.tmpdir.join("plugin123.py").write(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
|
||||
@@ -32,7 +32,7 @@ def pytest_cmdline_main(config):
|
||||
if config.getoption("looponfail"):
|
||||
usepdb = config.getoption("usepdb") # a core option
|
||||
if usepdb:
|
||||
raise pytest.UsageError("--pdb incompatible with --looponfail.")
|
||||
raise pytest.UsageError("--pdb is incompatible with --looponfail.")
|
||||
looponfail_main(config)
|
||||
return 2 # looponfail only can get stop with ctrl-C anyway
|
||||
|
||||
|
||||
@@ -126,12 +126,12 @@ def pytest_addoption(parser):
|
||||
)
|
||||
parser.addini(
|
||||
"rsyncdirs",
|
||||
"list of (relative) paths to be rsynced for" " remote distributed testing.",
|
||||
"list of (relative) paths to be rsynced for remote distributed testing.",
|
||||
type="pathlist",
|
||||
)
|
||||
parser.addini(
|
||||
"rsyncignore",
|
||||
"list of (relative) glob-style paths to be ignored " "for rsyncing.",
|
||||
"list of (relative) glob-style paths to be ignored for rsyncing.",
|
||||
type="pathlist",
|
||||
)
|
||||
parser.addini(
|
||||
|
||||
@@ -187,7 +187,7 @@ class LoadScopeScheduling(object):
|
||||
break
|
||||
else:
|
||||
raise RuntimeError(
|
||||
"Unable to identify crashitem on a workload with " "pending items"
|
||||
"Unable to identify crashitem on a workload with pending items"
|
||||
)
|
||||
|
||||
# Made uncompleted work unit available again
|
||||
|
||||
@@ -268,7 +268,7 @@ class WorkerController(object):
|
||||
if not self._down:
|
||||
try:
|
||||
self.sendcommand("shutdown")
|
||||
except IOError:
|
||||
except (IOError, OSError):
|
||||
pass
|
||||
self._shutdown_sent = True
|
||||
|
||||
@@ -345,7 +345,11 @@ class WorkerController(object):
|
||||
except: # noqa
|
||||
from _pytest._code import ExceptionInfo
|
||||
|
||||
excinfo = ExceptionInfo()
|
||||
# ExceptionInfo API changed in pytest 4.1
|
||||
if hasattr(ExceptionInfo, "from_current"):
|
||||
excinfo = ExceptionInfo.from_current()
|
||||
else:
|
||||
excinfo = ExceptionInfo()
|
||||
print("!" * 20, excinfo)
|
||||
self.config.notify_exception(excinfo)
|
||||
self.shutdown()
|
||||
|
||||
Reference in New Issue
Block a user