diff --git a/src/xdist/workermanage.py b/src/xdist/workermanage.py index af5241f1..65aef62f 100644 --- a/src/xdist/workermanage.py +++ b/src/xdist/workermanage.py @@ -1,12 +1,14 @@ from __future__ import print_function + import fnmatch import os import re import sys +import execnet import py import pytest -import execnet +from _pytest.tmpdir import TempPathFactory import xdist.remote @@ -252,9 +254,9 @@ def setup(self): args = make_reltoroot(self.nodemanager.roots, args) if spec.popen: name = "popen-%s" % self.gateway.id - if hasattr(self.config, "_tmpdirhandler"): - basetemp = self.config._tmpdirhandler.getbasetemp() - option_dict["basetemp"] = str(basetemp.join(name)) + basetemp = TempPathFactory.from_config(self.config).getbasetemp() + option_dict["basetemp"] = str(basetemp.joinpath(name)) + self.config.hook.pytest_configure_node(node=self) remote_module = self.config.hook.pytest_xdist_getremotemodule() diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py index d93f08ed..ed6415e5 100644 --- a/testing/acceptance_test.py +++ b/testing/acceptance_test.py @@ -766,9 +766,9 @@ def test_tmpdir_disabled(testdir): """ p1 = testdir.makepyfile( """ - def test_ok(): - pass - """ + def test_ok(request): + assert request.config.option.basetemp == {!r} + """.format(str(testdir.tmpdir.dirpath() / "basetemp" / "popen-gw0")) ) result = testdir.runpytest(p1, "-n1", "-p", "no:tmpdir") assert result.ret == 0