diff --git a/src/xdist/workermanage.py b/src/xdist/workermanage.py index aae5657..81ada2e 100644 --- a/src/xdist/workermanage.py +++ b/src/xdist/workermanage.py @@ -97,20 +97,21 @@ class NodeManager: self.trace("setting up nodes") with ThreadPoolExecutor(max_workers=len(self.specs)) as executor: futs = [ - executor.submit(self.setup_node, idx, spec, putevent) + executor.submit(self.setup_node, spec, putevent, idx) for idx, spec in enumerate(self.specs) ] return [f.result() for f in futs] def setup_node( self, - idx: int, spec: execnet.XSpec, putevent: Callable[[tuple[str, dict[str, Any]]], None], + idx: int = None, ) -> WorkerController: if getattr(spec, "execmodel", None) != "main_thread_only": spec = execnet.XSpec(f"execmodel=main_thread_only//{spec}") - spec = execnet.XSpec(f"{spec}//id=gw{idx}") + if idx is not None: + spec = execnet.XSpec(f"{spec}//id=gw{idx}") gw = self.group.makegateway(spec) self.config.hook.pytest_xdist_newgateway(gateway=gw) self.rsync_roots(gw)