fix test
This commit is contained in:
@@ -97,17 +97,19 @@ class NodeManager:
|
||||
self.trace("setting up nodes")
|
||||
with ThreadPoolExecutor(max_workers=len(self.specs)) as executor:
|
||||
futs = [
|
||||
executor.submit(self.setup_node, spec, putevent) for spec in self.specs
|
||||
executor.submit(self.setup_node, idx, spec, putevent) 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],
|
||||
) -> 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}")
|
||||
gw = self.group.makegateway(spec)
|
||||
self.config.hook.pytest_xdist_newgateway(gateway=gw)
|
||||
self.rsync_roots(gw)
|
||||
|
||||
@@ -82,11 +82,20 @@ class TestNodeManagerPopen:
|
||||
call = hookrecorder.popcall("pytest_xdist_setupnodes")
|
||||
assert len(call.specs) == 2
|
||||
|
||||
call = hookrecorder.popcall("pytest_xdist_newgateway")
|
||||
assert call.gateway.spec == execnet.XSpec("execmodel=main_thread_only//popen")
|
||||
assert call.gateway.id == "gw0"
|
||||
call = hookrecorder.popcall("pytest_xdist_newgateway")
|
||||
assert call.gateway.id == "gw1"
|
||||
# check expected gateways
|
||||
gw_calls = [
|
||||
hookrecorder.popcall("pytest_xdist_newgateway"),
|
||||
hookrecorder.popcall("pytest_xdist_newgateway"),
|
||||
]
|
||||
ids = {c.gateway.id for c in gw_calls}
|
||||
assert ids == {"gw0", "gw1"}
|
||||
|
||||
for c in gw_calls:
|
||||
expected_spec = execnet.XSpec(
|
||||
f"execmodel=main_thread_only//popen//id={c.gateway.id}"
|
||||
)
|
||||
assert c.gateway.spec == expected_spec
|
||||
|
||||
assert len(hm.group) == 2
|
||||
hm.teardown_nodes()
|
||||
assert not len(hm.group)
|
||||
|
||||
Reference in New Issue
Block a user