From fd085a411ed2ccc9bde2338cf50068bc7f213ece Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Mon, 15 Jul 2024 22:21:49 +0300 Subject: [PATCH] gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.TestMain (GH-121672) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ɓukasz Langa --- Lib/test/test_pyrepl/test_pyrepl.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index 8fff372da97..543a13e0e69 100644 --- a/Lib/test/test_pyrepl/test_pyrepl.py +++ b/Lib/test/test_pyrepl/test_pyrepl.py @@ -884,6 +884,19 @@ class TestPasteEvent(TestCase): @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__'"