Skip to content

Upgrading pytest-xdist 0.0 to 1

Breaking0.0.0 → 1.34.0Breaking2Platform3Deprecated1New19Changed32Fixed58Other11

BreakingUpgrade verdict

2 breaking changes and 3 platform requirement changes.

  • 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.
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).

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.
Deprecated1
Moves --boxed functionality to the separate pytest-forked plugin, which this release now depends on, keeping --boxed for backward compatibility.
--boxedpytest-forked

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)