Warn when implementations exist for pytest_namespace hook
This hook has been deprecated and will be removed in the future. Fix #2639
This commit is contained in:
parent
0e47599572
commit
e3d412d1f4
|
@ -0,0 +1,3 @@
|
||||||
|
``pytest_namespace`` has been deprecated.
|
||||||
|
|
||||||
|
Plugins who need this feature are suggested to import ``pytest`` and set attributes explicitly during ``pytest_configure``.
|
2
setup.py
2
setup.py
|
@ -69,7 +69,7 @@ def main():
|
||||||
# if _PYTEST_SETUP_SKIP_PLUGGY_DEP is set, skip installing pluggy;
|
# if _PYTEST_SETUP_SKIP_PLUGGY_DEP is set, skip installing pluggy;
|
||||||
# used by tox.ini to test with pluggy master
|
# used by tox.ini to test with pluggy master
|
||||||
if "_PYTEST_SETUP_SKIP_PLUGGY_DEP" not in os.environ:
|
if "_PYTEST_SETUP_SKIP_PLUGGY_DEP" not in os.environ:
|
||||||
install_requires.append("pluggy>=0.5,<0.8")
|
install_requires.append("pluggy>=0.7")
|
||||||
environment_marker_support_level = get_environment_marker_support_level()
|
environment_marker_support_level = get_environment_marker_support_level()
|
||||||
if environment_marker_support_level >= 2:
|
if environment_marker_support_level >= 2:
|
||||||
install_requires.append('funcsigs;python_version<"3.0"')
|
install_requires.append('funcsigs;python_version<"3.0"')
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
""" hook specifications for pytest plugins, invoked from main.py and builtin plugins. """
|
""" hook specifications for pytest plugins, invoked from main.py and builtin plugins. """
|
||||||
|
|
||||||
from pluggy import HookspecMarker
|
from pluggy import HookspecMarker
|
||||||
|
from .deprecated import RemovedInPytest4Warning
|
||||||
|
|
||||||
hookspec = HookspecMarker("pytest")
|
hookspec = HookspecMarker("pytest")
|
||||||
|
|
||||||
|
@ -22,10 +23,14 @@ def pytest_addhooks(pluginmanager):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
@hookspec(historic=True)
|
@hookspec(
|
||||||
|
historic=True,
|
||||||
|
warn_on_impl=RemovedInPytest4Warning(
|
||||||
|
"pytest_namespace is deprecated and will be removed soon"
|
||||||
|
),
|
||||||
|
)
|
||||||
def pytest_namespace():
|
def pytest_namespace():
|
||||||
"""
|
"""
|
||||||
(**Deprecated**) this hook causes direct monkeypatching on pytest, its use is strongly discouraged
|
|
||||||
return dict of name->object to be made globally available in
|
return dict of name->object to be made globally available in
|
||||||
the pytest namespace.
|
the pytest namespace.
|
||||||
|
|
||||||
|
@ -33,6 +38,12 @@ def pytest_namespace():
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This hook is incompatible with ``hookwrapper=True``.
|
This hook is incompatible with ``hookwrapper=True``.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
This hook has been **deprecated** and will be removed in pytest 4.0.
|
||||||
|
|
||||||
|
Plugins who need this feature are suggested
|
||||||
|
to import ``pytest`` and set attributes explicitly during ``pytest_configure``.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue