Skip some tests that require a subinterpreter launched with -E or -I when the
interpreter under test is being run in an environment that requires the use of
environment variables such as PYTHONHOME in order to function at all.
Adds a test.script_helper.interpreter_requires_environment() function
to be used with @unittest.skipIf on stdlib test methods requiring this.
diff --git a/Lib/test/test_tracemalloc.py b/Lib/test/test_tracemalloc.py
index bc22450..19d3fd8 100644
--- a/Lib/test/test_tracemalloc.py
+++ b/Lib/test/test_tracemalloc.py
@@ -5,7 +5,7 @@
import unittest
from unittest.mock import patch
from test.script_helper import assert_python_ok, assert_python_failure
-from test import support
+from test import script_helper, support
try:
import threading
except ImportError:
@@ -755,6 +755,8 @@
stdout = stdout.rstrip()
self.assertEqual(stdout, b'False')
+ @unittest.skipIf(script_helper.interpreter_requires_environment(),
+ 'Cannot run -E tests when PYTHON env vars are required.')
def test_env_var_ignored_with_E(self):
"""PYTHON* environment variables must be ignored when -E is present."""
code = 'import tracemalloc; print(tracemalloc.is_tracing())'