Merge master into features

This commit is contained in:
Daniel Hahler 2019-10-08 18:57:15 +02:00
commit 21c038f304
2 changed files with 46 additions and 11 deletions

28
testing/test_meta.py Normal file
View File

@ -0,0 +1,28 @@
import pkgutil
import subprocess
import sys
import _pytest
import pytest
def _modules():
return sorted(
n
for _, n, _ in pkgutil.walk_packages(
_pytest.__path__, prefix=_pytest.__name__ + "."
)
)
@pytest.mark.parametrize("module", _modules())
def test_no_warnings(module):
# fmt: off
subprocess.check_call((
sys.executable,
"-W", "error",
# https://github.com/pytest-dev/pytest/issues/5901
"-W", "ignore:The usage of `cmp` is deprecated and will be removed on or after 2021-06-01. Please use `eq` and `order` instead.:DeprecationWarning", # noqa: E501
"-c", "import {}".format(module),
))
# fmt: on

View File

@ -567,9 +567,19 @@ def test_pytest_exit_msg(testdir):
result.stderr.fnmatch_lines(["Exit: oh noes"])
def _strip_resource_warnings(lines):
# Assert no output on stderr, except for unreliable ResourceWarnings.
# (https://github.com/pytest-dev/pytest/issues/5088)
return [
x
for x in lines
if not x.startswith(("Exception ignored in:", "ResourceWarning"))
]
def test_pytest_exit_returncode(testdir):
testdir.makepyfile(
"""
"""\
import pytest
def test_foo():
pytest.exit("some exit msg", 99)
@ -577,19 +587,13 @@ def test_pytest_exit_returncode(testdir):
)
result = testdir.runpytest()
result.stdout.fnmatch_lines(["*! *Exit: some exit msg !*"])
# Assert no output on stderr, except for unreliable ResourceWarnings.
# (https://github.com/pytest-dev/pytest/issues/5088)
assert [
x
for x in result.stderr.lines
if not x.startswith("Exception ignored in:")
and not x.startswith("ResourceWarning")
] == [""]
assert _strip_resource_warnings(result.stderr.lines) == [""]
assert result.ret == 99
# It prints to stderr also in case of exit during pytest_sessionstart.
testdir.makeconftest(
"""
"""\
import pytest
def pytest_sessionstart():
@ -598,7 +602,10 @@ def test_pytest_exit_returncode(testdir):
)
result = testdir.runpytest()
result.stdout.fnmatch_lines(["*! *Exit: during_sessionstart !*"])
assert result.stderr.lines == ["Exit: during_sessionstart", ""]
assert _strip_resource_warnings(result.stderr.lines) == [
"Exit: during_sessionstart",
"",
]
assert result.ret == 98