diff --git a/docs/index.rst b/docs/index.rst index b7b8d13..78555b7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -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. diff --git a/docs/remote.rst b/docs/remote.rst index 997bef3..a0d7b43 100644 --- a/docs/remote.rst +++ b/docs/remote.rst @@ -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 diff --git a/src/xdist/newhooks.py b/src/xdist/newhooks.py index 7776624..384cde7 100644 --- a/src/xdist/newhooks.py +++ b/src/xdist/newhooks.py @@ -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.""" diff --git a/src/xdist/plugin.py b/src/xdist/plugin.py index 09301cc..a4e9284 100644 --- a/src/xdist/plugin.py +++ b/src/xdist/plugin.py @@ -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."