From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 15 Jul 2024 20:32:28 +0000 (+0200) Subject: [3.13] gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.TestMain... X-Git-Tag: v3.13.0b4~43 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ee2bfe617f6912eeb84ee9e45996bba2450f757;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.TestMain (GH-121672) (GH-121810) (cherry picked from commit fd085a411ed2ccc9bde2338cf50068bc7f213ece) Co-authored-by: Sergey B Kirpichev Co-authored-by: Ɓukasz Langa --- diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index 8fff372da97a..543a13e0e697 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__'"