gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.TestMain (GH-121672)
Co-authored-by: Ćukasz Langa <lukasz@langa.pl>
diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py
index 8fff372..543a13e 100644
--- a/Lib/test/test_pyrepl/test_pyrepl.py
+++ b/Lib/test/test_pyrepl/test_pyrepl.py
@@ -884,6 +884,19 @@ def test_bracketed_paste_single_line(self):
@skipUnless(pty, "requires pty")
class TestMain(TestCase):
+ def setUp(self):
+ # Cleanup from PYTHON* variables to isolate from local
+ # user settings, see #121359. Such variables should be
+ # added later in test methods to patched os.environ.
+ clean_env = os.environ.copy()
+ for k in clean_env.copy():
+ if k.startswith("PYTHON"):
+ clean_env.pop(k)
+
+ patcher = patch('os.environ', new=clean_env)
+ self.addCleanup(patcher.stop)
+ patcher.start()
+
@force_not_colorized
def test_exposed_globals_in_repl(self):
pre = "['__annotations__', '__builtins__'"