Skip to content

Commit

Permalink
Merge pull request #8903 from nicoddemus/remove-fspath-deprecation
Browse files Browse the repository at this point in the history
Revert fspath deprecation
  • Loading branch information
nicoddemus authored Jul 14, 2021
2 parents 828fde1 + 2c4c57e commit 69356d2
Show file tree
Hide file tree
Showing 6 changed files with 2 additions and 24 deletions.
9 changes: 0 additions & 9 deletions doc/en/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,6 @@ In order to support the transition to :mod:`pathlib`, the following hooks now re
The accompanying ``py.path.local`` based paths have been deprecated: plugins which manually invoke those hooks should only pass the new ``pathlib.Path`` arguments, and users should change their hook implementations to use the new ``pathlib.Path`` arguments.


``Node.fspath`` in favor of ``pathlib`` and ``Node.path``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. deprecated:: 6.3

As pytest tries to move off `py.path.local <https://py.readthedocs.io/en/latest/path.html>`__ we ported most of the node internals to :mod:`pathlib`.

Pytest will provide compatibility for quite a while.

Diamond inheritance between :class:`pytest.File` and :class:`pytest.Item`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
6 changes: 0 additions & 6 deletions src/_pytest/deprecated.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,6 @@
)


NODE_FSPATH = UnformattedWarning(
PytestDeprecationWarning,
"{type}.fspath is deprecated and will be replaced by {type}.path.\n"
"see https://docs.pytest.org/en/latest/deprecations.html#node-fspath-in-favor-of-pathlib-and-node-path",
)

HOOK_LEGACY_PATH_ARG = UnformattedWarning(
PytestDeprecationWarning,
"The ({pylib_path_arg}: py.path.local) argument is deprecated, please use ({pathlib_path_arg}: pathlib.Path)\n"
Expand Down
2 changes: 0 additions & 2 deletions src/_pytest/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
from _pytest.config.argparsing import Parser
from _pytest.deprecated import check_ispytest
from _pytest.deprecated import FILLFUNCARGS
from _pytest.deprecated import NODE_FSPATH
from _pytest.deprecated import YIELD_FIXTURE
from _pytest.mark import Mark
from _pytest.mark import ParameterSet
Expand Down Expand Up @@ -520,7 +519,6 @@ def module(self):
@property
def fspath(self) -> LEGACY_PATH:
"""(deprecated) The file system path of the test module which collected this test."""
warnings.warn(NODE_FSPATH.format(type=type(self).__name__), stacklevel=2)
return legacy_path(self.path)

@property
Expand Down
3 changes: 0 additions & 3 deletions src/_pytest/nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
from _pytest.config import Config
from _pytest.config import ConftestImportFailure
from _pytest.deprecated import FSCOLLECTOR_GETHOOKPROXY_ISINITPATH
from _pytest.deprecated import NODE_FSPATH
from _pytest.mark.structures import Mark
from _pytest.mark.structures import MarkDecorator
from _pytest.mark.structures import NodeKeywords
Expand Down Expand Up @@ -226,12 +225,10 @@ def __init__(
@property
def fspath(self) -> LEGACY_PATH:
"""(deprecated) returns a legacy_path copy of self.path"""
warnings.warn(NODE_FSPATH.format(type=type(self).__name__), stacklevel=2)
return legacy_path(self.path)

@fspath.setter
def fspath(self, value: LEGACY_PATH) -> None:
warnings.warn(NODE_FSPATH.format(type=type(self).__name__), stacklevel=2)
self.path = Path(value)

@classmethod
Expand Down
3 changes: 1 addition & 2 deletions testing/python/fixtures.py
Original file line number Diff line number Diff line change
Expand Up @@ -967,8 +967,7 @@ def test_request_getmodulepath(self, pytester: Pytester) -> None:
(item,) = pytester.genitems([modcol])
req = fixtures.FixtureRequest(item, _ispytest=True)
assert req.path == modcol.path
with pytest.warns(pytest.PytestDeprecationWarning):
assert req.fspath == modcol.fspath
assert req.fspath == modcol.fspath

def test_request_fixturenames(self, pytester: Pytester) -> None:
pytester.makepyfile(
Expand Down
3 changes: 1 addition & 2 deletions testing/test_collection.py
Original file line number Diff line number Diff line change
Expand Up @@ -614,8 +614,7 @@ def test_serialization_byid(self, pytester: Pytester) -> None:
items2, hookrec = pytester.inline_genitems(item.nodeid)
(item2,) = items2
assert item2.name == item.name
with pytest.warns(DeprecationWarning):
assert item2.fspath == item.fspath
assert item2.fspath == item.fspath
assert item2.path == item.path

def test_find_byid_without_instance_parents(self, pytester: Pytester) -> None:
Expand Down

0 comments on commit 69356d2

Please sign in to comment.