diff --git a/src/xdist/remote.py b/src/xdist/remote.py index 409b90b0..4535fcf3 100644 --- a/src/xdist/remote.py +++ b/src/xdist/remote.py @@ -434,4 +434,7 @@ def setup_config(config: pytest.Config, basetemp: str | None) -> None: config.workerinput = workerinput # type: ignore[attr-defined] config.workeroutput = {} # type: ignore[attr-defined] interactor = WorkerInteractor(config, channel) # type: ignore[name-defined] - config.hook.pytest_cmdline_main(config=config) + try: + config.hook.pytest_cmdline_main(config=config) + except pytest.exit.Exit as e: + workeroutput["exitstatus"] = e.returncode