Use mark-specific warning type
So that we can ignore it in self-tests.
This commit is contained in:
parent
cda9ce198a
commit
4f6c67658c
|
@ -11,7 +11,7 @@ from ..compat import getfslineno
|
||||||
from ..compat import MappingMixin
|
from ..compat import MappingMixin
|
||||||
from ..compat import NOTSET
|
from ..compat import NOTSET
|
||||||
from _pytest.outcomes import fail
|
from _pytest.outcomes import fail
|
||||||
from _pytest.warning_types import PytestWarning
|
from _pytest.warning_types import UnknownMarkWarning
|
||||||
|
|
||||||
EMPTY_PARAMETERSET_OPTION = "empty_parameter_set_mark"
|
EMPTY_PARAMETERSET_OPTION = "empty_parameter_set_mark"
|
||||||
|
|
||||||
|
@ -294,10 +294,10 @@ class MarkGenerator(object):
|
||||||
self._update_markers(name)
|
self._update_markers(name)
|
||||||
if name not in self._markers:
|
if name not in self._markers:
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"Unknown mark %r. You can register custom marks to avoid this "
|
"Unknown pytest.mark.%s - is this a typo? You can register "
|
||||||
"warning, without risking typos that break your tests. See "
|
"custom marks to avoid this warning - for details, see "
|
||||||
"https://docs.pytest.org/en/latest/mark.html for details." % name,
|
"https://docs.pytest.org/en/latest/mark.html" % name,
|
||||||
PytestWarning,
|
UnknownMarkWarning,
|
||||||
)
|
)
|
||||||
if self._config.option.strict:
|
if self._config.option.strict:
|
||||||
fail("{!r} not a registered marker".format(name), pytrace=False)
|
fail("{!r} not a registered marker".format(name), pytrace=False)
|
||||||
|
|
|
@ -9,6 +9,15 @@ class PytestWarning(UserWarning):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class UnknownMarkWarning(PytestWarning):
|
||||||
|
"""
|
||||||
|
Bases: :class:`PytestWarning`.
|
||||||
|
|
||||||
|
Warning emitted on use of unknown markers.
|
||||||
|
See https://docs.pytest.org/en/latest/mark.html for details.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
class PytestDeprecationWarning(PytestWarning, DeprecationWarning):
|
class PytestDeprecationWarning(PytestWarning, DeprecationWarning):
|
||||||
"""
|
"""
|
||||||
Bases: :class:`pytest.PytestWarning`, :class:`DeprecationWarning`.
|
Bases: :class:`pytest.PytestWarning`, :class:`DeprecationWarning`.
|
||||||
|
|
8
tox.ini
8
tox.ini
|
@ -165,15 +165,11 @@ filterwarnings =
|
||||||
ignore::pytest.PytestExperimentalApiWarning
|
ignore::pytest.PytestExperimentalApiWarning
|
||||||
# Do not cause SyntaxError for invalid escape sequences in py37.
|
# Do not cause SyntaxError for invalid escape sequences in py37.
|
||||||
default:invalid escape sequence:DeprecationWarning
|
default:invalid escape sequence:DeprecationWarning
|
||||||
|
# ignore use of unregistered marks, because we use many to test the implementation
|
||||||
|
ignore::_pytest.warning_types.UnknownMarkWarning
|
||||||
pytester_example_dir = testing/example_scripts
|
pytester_example_dir = testing/example_scripts
|
||||||
markers =
|
markers =
|
||||||
issue
|
issue
|
||||||
nothing
|
|
||||||
foo
|
|
||||||
bar
|
|
||||||
baz
|
|
||||||
xyz
|
|
||||||
XYZ
|
|
||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
max-line-length = 120
|
max-line-length = 120
|
||||||
|
|
Loading…
Reference in New Issue