Remove funcargnames compatibility property
This commit is contained in:
parent
c98525bd21
commit
98530184a5
|
@ -0,0 +1,4 @@
|
||||||
|
As per our policy, the following features have been deprecated in the 5.X series and are now
|
||||||
|
removed:
|
||||||
|
|
||||||
|
* The ``funcargnames`` read-only property of ``FixtureRequest``, ``Metafunc``, and ``Function`` classes. Use ``fixturenames`` attribute.
|
|
@ -127,20 +127,6 @@ Services known to support the ``xunit2`` format:
|
||||||
* `Azure Pipelines <https://azure.microsoft.com/en-us/services/devops/pipelines>`__.
|
* `Azure Pipelines <https://azure.microsoft.com/en-us/services/devops/pipelines>`__.
|
||||||
|
|
||||||
|
|
||||||
``funcargnames`` alias for ``fixturenames``
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
.. deprecated:: 5.0
|
|
||||||
|
|
||||||
The ``FixtureRequest``, ``Metafunc``, and ``Function`` classes track the names of
|
|
||||||
their associated fixtures, with the aptly-named ``fixturenames`` attribute.
|
|
||||||
|
|
||||||
Prior to pytest 2.3, this attribute was named ``funcargnames``, and we have kept
|
|
||||||
that as an alias since. It is finally due for removal, as it is often confusing
|
|
||||||
in places where we or plugin authors must distinguish between fixture names and
|
|
||||||
names supplied by non-fixture things such as ``pytest.mark.parametrize``.
|
|
||||||
|
|
||||||
|
|
||||||
Result log (``--result-log``)
|
Result log (``--result-log``)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -176,6 +162,19 @@ Removed Features
|
||||||
As stated in our :ref:`backwards-compatibility` policy, deprecated features are removed only in major releases after
|
As stated in our :ref:`backwards-compatibility` policy, deprecated features are removed only in major releases after
|
||||||
an appropriate period of deprecation has passed.
|
an appropriate period of deprecation has passed.
|
||||||
|
|
||||||
|
``funcargnames`` alias for ``fixturenames``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. versionremoved:: 6.0
|
||||||
|
|
||||||
|
The ``FixtureRequest``, ``Metafunc``, and ``Function`` classes track the names of
|
||||||
|
their associated fixtures, with the aptly-named ``fixturenames`` attribute.
|
||||||
|
|
||||||
|
Prior to pytest 2.3, this attribute was named ``funcargnames``, and we have kept
|
||||||
|
that as an alias since. It is finally due for removal, as it is often confusing
|
||||||
|
in places where we or plugin authors must distinguish between fixture names and
|
||||||
|
names supplied by non-fixture things such as ``pytest.mark.parametrize``.
|
||||||
|
|
||||||
|
|
||||||
``pytest.config`` global
|
``pytest.config`` global
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
|
@ -19,10 +19,6 @@ DEPRECATED_EXTERNAL_PLUGINS = {
|
||||||
"pytest_faulthandler",
|
"pytest_faulthandler",
|
||||||
}
|
}
|
||||||
|
|
||||||
FUNCARGNAMES = PytestDeprecationWarning(
|
|
||||||
"The `funcargnames` attribute was an alias for `fixturenames`, "
|
|
||||||
"since pytest 2.3 - use the newer attribute instead."
|
|
||||||
)
|
|
||||||
|
|
||||||
FILLFUNCARGS = PytestDeprecationWarning(
|
FILLFUNCARGS = PytestDeprecationWarning(
|
||||||
"The `_fillfuncargs` function is deprecated, use "
|
"The `_fillfuncargs` function is deprecated, use "
|
||||||
|
|
|
@ -47,7 +47,6 @@ from _pytest.config import _PluggyPlugin
|
||||||
from _pytest.config import Config
|
from _pytest.config import Config
|
||||||
from _pytest.config.argparsing import Parser
|
from _pytest.config.argparsing import Parser
|
||||||
from _pytest.deprecated import FIXTURE_POSITIONAL_ARGUMENTS
|
from _pytest.deprecated import FIXTURE_POSITIONAL_ARGUMENTS
|
||||||
from _pytest.deprecated import FUNCARGNAMES
|
|
||||||
from _pytest.mark import ParameterSet
|
from _pytest.mark import ParameterSet
|
||||||
from _pytest.outcomes import fail
|
from _pytest.outcomes import fail
|
||||||
from _pytest.outcomes import TEST_OUTCOME
|
from _pytest.outcomes import TEST_OUTCOME
|
||||||
|
@ -457,12 +456,6 @@ class FixtureRequest:
|
||||||
result.extend(set(self._fixture_defs).difference(result))
|
result.extend(set(self._fixture_defs).difference(result))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@property
|
|
||||||
def funcargnames(self) -> List[str]:
|
|
||||||
"""Alias attribute for ``fixturenames`` for pre-2.3 compatibility."""
|
|
||||||
warnings.warn(FUNCARGNAMES, stacklevel=2)
|
|
||||||
return self.fixturenames
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def node(self):
|
def node(self):
|
||||||
"""Underlying collection node (depends on current request scope)."""
|
"""Underlying collection node (depends on current request scope)."""
|
||||||
|
|
|
@ -53,7 +53,6 @@ from _pytest.config import ExitCode
|
||||||
from _pytest.config import hookimpl
|
from _pytest.config import hookimpl
|
||||||
from _pytest.config.argparsing import Parser
|
from _pytest.config.argparsing import Parser
|
||||||
from _pytest.deprecated import FSCOLLECTOR_GETHOOKPROXY_ISINITPATH
|
from _pytest.deprecated import FSCOLLECTOR_GETHOOKPROXY_ISINITPATH
|
||||||
from _pytest.deprecated import FUNCARGNAMES
|
|
||||||
from _pytest.fixtures import FuncFixtureInfo
|
from _pytest.fixtures import FuncFixtureInfo
|
||||||
from _pytest.main import Session
|
from _pytest.main import Session
|
||||||
from _pytest.mark import MARK_GEN
|
from _pytest.mark import MARK_GEN
|
||||||
|
@ -906,12 +905,6 @@ class Metafunc:
|
||||||
self._calls = [] # type: List[CallSpec2]
|
self._calls = [] # type: List[CallSpec2]
|
||||||
self._arg2fixturedefs = fixtureinfo.name2fixturedefs
|
self._arg2fixturedefs = fixtureinfo.name2fixturedefs
|
||||||
|
|
||||||
@property
|
|
||||||
def funcargnames(self) -> List[str]:
|
|
||||||
"""Alias attribute for ``fixturenames`` for pre-2.3 compatibility."""
|
|
||||||
warnings.warn(FUNCARGNAMES, stacklevel=2)
|
|
||||||
return self.fixturenames
|
|
||||||
|
|
||||||
def parametrize(
|
def parametrize(
|
||||||
self,
|
self,
|
||||||
argnames: Union[str, List[str], Tuple[str, ...]],
|
argnames: Union[str, List[str], Tuple[str, ...]],
|
||||||
|
@ -1568,12 +1561,6 @@ class Function(PyobjMixin, nodes.Item):
|
||||||
"""(compatonly) for code expecting pytest-2.2 style request objects."""
|
"""(compatonly) for code expecting pytest-2.2 style request objects."""
|
||||||
return self
|
return self
|
||||||
|
|
||||||
@property
|
|
||||||
def funcargnames(self) -> List[str]:
|
|
||||||
"""Alias attribute for ``fixturenames`` for pre-2.3 compatibility."""
|
|
||||||
warnings.warn(FUNCARGNAMES, stacklevel=2)
|
|
||||||
return self.fixturenames
|
|
||||||
|
|
||||||
def runtest(self) -> None:
|
def runtest(self) -> None:
|
||||||
"""Execute the underlying test function."""
|
"""Execute the underlying test function."""
|
||||||
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
|
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
|
||||||
|
|
|
@ -815,28 +815,6 @@ class TestRequestBasic:
|
||||||
result = testdir.runpytest()
|
result = testdir.runpytest()
|
||||||
result.stdout.fnmatch_lines(["*1 passed*"])
|
result.stdout.fnmatch_lines(["*1 passed*"])
|
||||||
|
|
||||||
def test_funcargnames_compatattr(self, testdir):
|
|
||||||
testdir.makepyfile(
|
|
||||||
"""
|
|
||||||
import pytest
|
|
||||||
def pytest_generate_tests(metafunc):
|
|
||||||
with pytest.warns(pytest.PytestDeprecationWarning):
|
|
||||||
assert metafunc.funcargnames == metafunc.fixturenames
|
|
||||||
@pytest.fixture
|
|
||||||
def fn(request):
|
|
||||||
with pytest.warns(pytest.PytestDeprecationWarning):
|
|
||||||
assert request._pyfuncitem.funcargnames == \
|
|
||||||
request._pyfuncitem.fixturenames
|
|
||||||
with pytest.warns(pytest.PytestDeprecationWarning):
|
|
||||||
return request.funcargnames, request.fixturenames
|
|
||||||
|
|
||||||
def test_hello(fn):
|
|
||||||
assert fn[0] == fn[1]
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
reprec = testdir.inline_run()
|
|
||||||
reprec.assertoutcome(passed=1)
|
|
||||||
|
|
||||||
def test_setupdecorator_and_xunit(self, testdir):
|
def test_setupdecorator_and_xunit(self, testdir):
|
||||||
testdir.makepyfile(
|
testdir.makepyfile(
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue