Upgrading pytest-xdist 0.0 to 1
Breaking0.0.0 → 1.34.0Breaking2Platform3Deprecated1New19Changed32Fixed58Other11
BreakingUpgrade verdict
2 breaking changes and 3 platform requirement changes.
In plain terms
- This release no longer works with very old versions of pytest; you need pytest 3.6 or newer.
- You must upgrade to pytest 2.0, and the rsyncdirs and rsyncignore settings now only work when placed in the [pytest] section of an ini file.
- This version no longer works on Python 3.4, which is no longer supported by Python itself.
- The package can now be used with Python 3.8.
Must act Top 5 of 6 that need code or config changes
Python requirement changed in 1.32.0: >=3.6 → >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*.
Adds pytest-forked, six.
Installs 8 packages in all (was 6).
What you must change
Breaking2
Drops support for pytest versions older than 3.6.
Requires pytest-2.0 changes; rsyncdirs and rsyncignore can now only be specified in [pytest] sections of ini files.
rsyncdirsrsyncignore[pytest]Platform3
Drops support for EOL Python 3.4.
Adds support for Python 3.8.
Drops support for end-of-life Python 2.6.
Deprecations to plan for
Deprecated1
Moves --boxed functionality to the separate pytest-forked plugin, which this release now depends on, keeping --boxed for backward compatibility.
--boxedpytest-forkedAPI changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
export get_xdist_worker_id - removed:
export is_xdist_controller - removed:
export is_xdist_master - removed:
export is_xdist_worker
- removed:
method DSession.worker_internal_error(node, formatted_error) - changed:
class DSession → class DSession(object) - changed:
class TerminalDistReporter → class TerminalDistReporter(object) - added:
method DSession.worker_logwarning(message, code, nodeid, fslocation)
- changed:
class RemoteControl → class RemoteControl(object) - changed:
class StatRecorder → class StatRecorder(object) - changed:
class WorkerFailSession → class WorkerFailSession(object) - changed:
constructor StatRecorder(rootdirlist: Sequence[Path]) -> None → constructor StatRecorder(rootdirlist) - changed:
function looponfail_main(config: pytest.Config) -> None → function looponfail_main(config) - changed:
method StatRecorder.check(removepycfiles: bool=…) -> bool → method StatRecorder.check(removepycfiles=…) - changed:
method StatRecorder.fil(p: Path) -> bool → method StatRecorder.fil(p) - changed:
method StatRecorder.rec(p: Path) -> bool → method StatRecorder.rec(p)
- removed:
function pytest_handlecrashitem(crashitem, report, sched) - removed:
function pytest_xdist_auto_num_workers(config)
- removed:
function get_xdist_worker_id(request_or_session) - removed:
function is_xdist_controller(request_or_session) -> bool - removed:
function is_xdist_worker(request_or_session) -> bool - removed:
function pytest_xdist_auto_num_workers(config) - removed:
variable PYTEST_GTE_7 - removed:
variable is_xdist_master - added:
class AutoInt(int) - added:
function auto_detect_cpus()
- removed:
class Producer - removed:
constructor Producer(name: str, *, enabled: bool=…) - removed:
function setproctitle(title) - removed:
function worker_title(title) - removed:
method WorkerInteractor.pytest_collection_modifyitems(session, config, items) - changed:
class WorkerInteractor → class WorkerInteractor(object) - added:
method WorkerInteractor.pytest_logwarning(message, code, nodeid, fslocation) - added:
method WorkerInteractor.pytest_warning_captured(warning_message, when, item)
- removed:
export LoadGroupScheduling
- removed:
method EachScheduling.mark_test_pending(item) - changed:
class EachScheduling → class EachScheduling(object)
- removed:
method LoadScheduling.mark_test_pending(item) - changed:
class LoadScheduling → class LoadScheduling(object)
- removed:
class LoadGroupScheduling(LoadScopeScheduling) - removed:
constructor LoadGroupScheduling(config, log=…)
- removed:
method LoadScopeScheduling.mark_test_pending(item) - changed:
class LoadScopeScheduling → class LoadScopeScheduling(object)
- removed:
field HostRSync.PathLike - changed:
class NodeManager → class NodeManager(object) - changed:
class WorkerController → class WorkerController(object) - changed:
constructor HostRSync(sourcedir: PathLike, *, ignores: Optional[Sequence[PathLike]]=…, **kwargs: object) -> None → constructor HostRSync(sourcedir, *args, **kwargs) - changed:
constructor NodeManager(config, specs=…, defaultchdir=…) -> None → constructor NodeManager(config, specs=…, defaultchdir=…) - changed:
function make_reltoroot(roots: Sequence[Path], args: List[str]) -> List[str] → function make_reltoroot(roots, args) - changed:
method HostRSync.filter(path: PathLike) -> bool → method HostRSync.filter(path)