Deprecate rsync support

Fix #825
This commit is contained in:
Bruno Oliveira 2022-10-24 08:56:27 -03:00 committed by Bruno Oliveira
parent c168706fbe
commit ed65e888cf
4 changed files with 25 additions and 3 deletions

View File

@ -34,7 +34,7 @@ Features
* ``--looponfail``: run your tests repeatedly in a subprocess. After each run
pytest waits until a file in your project changes and then re-runs
the previously failing tests. This is repeated until all tests pass
after which again a full run is performed.
after which again a full run is performed (DEPRECATED).
* :ref:`Multi-Platform` coverage: you can specify different Python interpreters
or different platforms and run tests in parallel on all of them.

View File

@ -5,6 +5,17 @@
Sending tests to remote SSH accounts
====================================
.. deprecated:: 3.0
.. warning::
This feature is deprecated because the support for ``rsync`` is faulty
in terms of reproducing the development environment in the remote
worker, and there is no clear solution moving forward.
This feature is scheduled to be removed in release 4.0, to let the team
focus on a smaller set of features.
Suppose you have a package ``mypkg`` which contains some
tests that you can successfully run locally. And you
have a ssh-reachable machine ``myhost``. Then

View File

@ -24,12 +24,16 @@ def pytest_xdist_newgateway(gateway):
"""called on new raw gateway creation."""
@pytest.hookspec()
@pytest.hookspec(
warn_on_impl="rsync feature is deprecated and will be removed in pytest-xdist 4.0"
)
def pytest_xdist_rsyncstart(source, gateways):
"""called before rsyncing a directory to remote gateways takes place."""
@pytest.hookspec()
@pytest.hookspec(
warn_on_impl="rsync feature is deprecated and will be removed in pytest-xdist 4.0"
)
def pytest_xdist_rsyncfinish(source, gateways):
"""called after rsyncing a directory to remote gateways takes place."""

View File

@ -204,6 +204,13 @@ def pytest_configure(config):
)
config.issue_config_time_warning(warning, 2)
if config.getoption("rsyncdir", None) or config.getini("rsyncdirs"):
warning = DeprecationWarning(
"The --rsyncdir command line argument and rsyncdirs config variable are deprecated.\n"
"The rsync feature will be removed in pytest-xdist 4.0."
)
config.issue_config_time_warning(warning, 2)
config_line = (
"xdist_group: specify group for tests should run in same session."
"in relation to one another. " + "Provided by pytest-xdist."