Fix test_conftest when run via pytest-randomly
This commit is contained in:
parent
13a9d876f7
commit
66f743c45a
|
@ -11,17 +11,8 @@ from _pytest.config import PytestPluginManager
|
||||||
from _pytest.main import EXIT_NOTESTSCOLLECTED
|
from _pytest.main import EXIT_NOTESTSCOLLECTED
|
||||||
from _pytest.main import EXIT_OK
|
from _pytest.main import EXIT_OK
|
||||||
from _pytest.main import EXIT_USAGEERROR
|
from _pytest.main import EXIT_USAGEERROR
|
||||||
|
from _pytest.pytester import SysModulesSnapshot
|
||||||
|
from _pytest.pytester import SysPathsSnapshot
|
||||||
@pytest.fixture(scope="module", params=["global", "inpackage"])
|
|
||||||
def basedir(request, tmpdir_factory):
|
|
||||||
tmpdir = tmpdir_factory.mktemp("basedir", numbered=True)
|
|
||||||
tmpdir.ensure("adir/conftest.py").write("a=1 ; Directory = 3")
|
|
||||||
tmpdir.ensure("adir/b/conftest.py").write("b=2 ; a = 1.5")
|
|
||||||
if request.param == "inpackage":
|
|
||||||
tmpdir.ensure("adir/__init__.py")
|
|
||||||
tmpdir.ensure("adir/b/__init__.py")
|
|
||||||
return tmpdir
|
|
||||||
|
|
||||||
|
|
||||||
def ConftestWithSetinitial(path):
|
def ConftestWithSetinitial(path):
|
||||||
|
@ -42,6 +33,26 @@ def conftest_setinitial(conftest, args, confcutdir=None):
|
||||||
|
|
||||||
|
|
||||||
class TestConftestValueAccessGlobal(object):
|
class TestConftestValueAccessGlobal(object):
|
||||||
|
@pytest.fixture(scope="module", params=["global", "inpackage"])
|
||||||
|
def basedir(self, request, tmpdir_factory):
|
||||||
|
tmpdir = tmpdir_factory.mktemp("basedir", numbered=True)
|
||||||
|
tmpdir.ensure("adir/conftest.py").write("a=1 ; Directory = 3")
|
||||||
|
tmpdir.ensure("adir/b/conftest.py").write("b=2 ; a = 1.5")
|
||||||
|
if request.param == "inpackage":
|
||||||
|
tmpdir.ensure("adir/__init__.py")
|
||||||
|
tmpdir.ensure("adir/b/__init__.py")
|
||||||
|
|
||||||
|
yield tmpdir
|
||||||
|
|
||||||
|
@pytest.fixture(autouse=True)
|
||||||
|
def restore(self):
|
||||||
|
"""Restore sys.modules to prevent ConftestImportFailure when run randomly."""
|
||||||
|
snapmods = SysModulesSnapshot()
|
||||||
|
snappath = SysPathsSnapshot()
|
||||||
|
yield
|
||||||
|
snapmods.restore()
|
||||||
|
snappath.restore()
|
||||||
|
|
||||||
def test_basic_init(self, basedir):
|
def test_basic_init(self, basedir):
|
||||||
conftest = PytestPluginManager()
|
conftest = PytestPluginManager()
|
||||||
p = basedir.join("adir")
|
p = basedir.join("adir")
|
||||||
|
|
Loading…
Reference in New Issue