summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-06-17 22:11:00 (GMT)
committerGitHub <noreply@github.com>2019-06-17 22:11:00 (GMT)
commitdbdc991a62bc2b3393d287e90292e3603f47d98a (patch)
tree0ce19cc655ab94674ef13ddeea57963c63b97696
parentac7b1a3f32cc81520e8962352294006d65744028 (diff)
downloadcpython-dbdc991a62bc2b3393d287e90292e3603f47d98a.zip
cpython-dbdc991a62bc2b3393d287e90292e3603f47d98a.tar.gz
cpython-dbdc991a62bc2b3393d287e90292e3603f47d98a.tar.bz2
Fix test_embed.test_pre_initialization_sys_options() env vars (GH-14172)
test_pre_initialization_sys_options() of test_embed now removes PYTHON* environment variables like PYTHONWARNINGS.
-rw-r--r--Lib/test/test_embed.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py
index a39ef2b..1bc8d3a 100644
--- a/Lib/test/test_embed.py
+++ b/Lib/test/test_embed.py
@@ -26,6 +26,15 @@ API_PYTHON = 2
API_ISOLATED = 3
+def remove_python_envvars():
+ env = dict(os.environ)
+ # Remove PYTHON* environment variables to get deterministic environment
+ for key in list(env):
+ if key.startswith('PYTHON'):
+ del env[key]
+ return env
+
+
class EmbeddingTestsMixin:
def setUp(self):
here = os.path.abspath(__file__)
@@ -232,7 +241,8 @@ class EmbeddingTests(EmbeddingTestsMixin, unittest.TestCase):
Checks that sys.warnoptions and sys._xoptions can be set before the
runtime is initialized (otherwise they won't be effective).
"""
- env = dict(os.environ, PYTHONPATH=os.pathsep.join(sys.path))
+ env = remove_python_envvars()
+ env['PYTHONPATH'] = os.pathsep.join(sys.path)
out, err = self.run_embedded_interpreter(
"test_pre_initialization_sys_options", env=env)
expected_output = (
@@ -591,11 +601,7 @@ class InitConfigTests(EmbeddingTestsMixin, unittest.TestCase):
def check_all_configs(self, testname, expected_config=None,
expected_preconfig=None, add_path=None, stderr=None,
*, api):
- env = dict(os.environ)
- # Remove PYTHON* environment variables to get deterministic environment
- for key in list(env):
- if key.startswith('PYTHON'):
- del env[key]
+ env = remove_python_envvars()
if api == API_ISOLATED:
default_preconfig = self.PRE_CONFIG_ISOLATED