Skip to content

Commit 6725f76

Browse files
authored
nest _test_environ_pythonpath independent of outside PYTHONPATH (#7367)
Closes #7366
1 parent eefcb96 commit 6725f76

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

tests/testutils/test_testutils_utils.py

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import sys
77
from pathlib import Path
88

9+
import pytest
10+
911
from pylint.testutils.utils import _test_cwd, _test_environ_pythonpath, _test_sys_path
1012

1113

@@ -50,22 +52,28 @@ def test__test_cwd(tmp_path: Path) -> None:
5052
assert os.getcwd() == cwd
5153

5254

53-
def test__test_environ_pythonpath_no_arg() -> None:
54-
python_path = os.environ.get("PYTHONPATH")
55-
with _test_environ_pythonpath():
56-
assert os.environ.get("PYTHONPATH") == python_path
57-
new_pythonpath = "./whatever/:"
58-
os.environ["PYTHONPATH"] = new_pythonpath
59-
assert os.environ.get("PYTHONPATH") == new_pythonpath
60-
assert os.environ.get("PYTHONPATH") == python_path
55+
@pytest.mark.parametrize("old_pythonpath", ["./oldpath/:", None])
56+
def test__test_environ_pythonpath_no_arg(old_pythonpath: str) -> None:
57+
real_pythonpath = os.environ.get("PYTHONPATH")
58+
with _test_environ_pythonpath(old_pythonpath):
59+
with _test_environ_pythonpath():
60+
assert os.environ.get("PYTHONPATH") is None
61+
new_pythonpath = "./whatever/:"
62+
os.environ["PYTHONPATH"] = new_pythonpath
63+
assert os.environ.get("PYTHONPATH") == new_pythonpath
64+
assert os.environ.get("PYTHONPATH") == old_pythonpath
65+
assert os.environ.get("PYTHONPATH") == real_pythonpath
6166

6267

63-
def test__test_environ_pythonpath() -> None:
64-
python_path = os.environ.get("PYTHONPATH")
65-
new_pythonpath = "./whatever/:"
66-
with _test_environ_pythonpath(new_pythonpath):
67-
assert os.environ.get("PYTHONPATH") == new_pythonpath
68-
newer_pythonpath = "./something_else/:"
69-
os.environ["PYTHONPATH"] = newer_pythonpath
70-
assert os.environ.get("PYTHONPATH") == newer_pythonpath
71-
assert os.environ.get("PYTHONPATH") == python_path
68+
@pytest.mark.parametrize("old_pythonpath", ["./oldpath/:", None])
69+
def test__test_environ_pythonpath(old_pythonpath: str) -> None:
70+
real_pythonpath = os.environ.get("PYTHONPATH")
71+
with _test_environ_pythonpath(old_pythonpath):
72+
new_pythonpath = "./whatever/:"
73+
with _test_environ_pythonpath(new_pythonpath):
74+
assert os.environ.get("PYTHONPATH") == new_pythonpath
75+
newer_pythonpath = "./something_else/:"
76+
os.environ["PYTHONPATH"] = newer_pythonpath
77+
assert os.environ.get("PYTHONPATH") == newer_pythonpath
78+
assert os.environ.get("PYTHONPATH") == old_pythonpath
79+
assert os.environ.get("PYTHONPATH") == real_pythonpath

0 commit comments

Comments
 (0)