summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2015-01-23 01:33:28 (GMT)
committerGregory P. Smith <greg@krypto.org>2015-01-23 01:33:28 (GMT)
commitfe7c5d6e4e94ca313e1dcfa5ecfba289489f0adf (patch)
tree8a3e4936b5837509e538fe2d1a0b6a2760c54159 /Lib/test
parent2b77c5467f376257ae22cbfbcb3a0e5e6349e92d (diff)
downloadcpython-fe7c5d6e4e94ca313e1dcfa5ecfba289489f0adf.zip
cpython-fe7c5d6e4e94ca313e1dcfa5ecfba289489f0adf.tar.gz
cpython-fe7c5d6e4e94ca313e1dcfa5ecfba289489f0adf.tar.bz2
Only pass -E to the child interpreter if our interpreter was running in that
mode. Explicitly remove the PYTHONFAULTHANDLER environment variable before launching a child interpreter when its presence would impact the test (the reason -E was being used in the first place). This enables running the test in an environment where other Python environment variables must be set in order for things to run (such as using PYTHONHOME to tell an embedded interpreter where it should think it lives).
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_faulthandler.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py
index 8dcefe4..e68a09e 100644
--- a/Lib/test/test_faulthandler.py
+++ b/Lib/test/test_faulthandler.py
@@ -250,17 +250,25 @@ class FaultHandlerTests(unittest.TestCase):
def test_disabled_by_default(self):
# By default, the module should be disabled
code = "import faulthandler; print(faulthandler.is_enabled())"
- args = (sys.executable, '-E', '-c', code)
- # don't use assert_python_ok() because it always enable faulthandler
- output = subprocess.check_output(args)
+ args = filter(None, (sys.executable,
+ "-E" if sys.flags.ignore_environment else "",
+ "-c", code))
+ env = os.environ.copy()
+ env.pop("PYTHONFAULTHANDLER", None)
+ # don't use assert_python_ok() because it always enables faulthandler
+ output = subprocess.check_output(args, env=env)
self.assertEqual(output.rstrip(), b"False")
def test_sys_xoptions(self):
# Test python -X faulthandler
code = "import faulthandler; print(faulthandler.is_enabled())"
- args = (sys.executable, "-E", "-X", "faulthandler", "-c", code)
- # don't use assert_python_ok() because it always enable faulthandler
- output = subprocess.check_output(args)
+ args = filter(None, (sys.executable,
+ "-E" if sys.flags.ignore_environment else "",
+ "-X", "faulthandler", "-c", code))
+ env = os.environ.copy()
+ env.pop("PYTHONFAULTHANDLER", None)
+ # don't use assert_python_ok() because it always enables faulthandler
+ output = subprocess.check_output(args, env=env)
self.assertEqual(output.rstrip(), b"True")
def test_env_var(self):
@@ -269,7 +277,7 @@ class FaultHandlerTests(unittest.TestCase):
args = (sys.executable, "-c", code)
env = os.environ.copy()
env['PYTHONFAULTHANDLER'] = ''
- # don't use assert_python_ok() because it always enable faulthandler
+ # don't use assert_python_ok() because it always enables faulthandler
output = subprocess.check_output(args, env=env)
self.assertEqual(output.rstrip(), b"False")