mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Fix initialization of the faulthandler module
faulthandler requires the importlib if "-X faulthandler" option is present on the command line, so initialize faulthandler after importlib. Add also an unit test.
This commit is contained in:
parent
60622ed12a
commit
d5698cbbca
2 changed files with 19 additions and 4 deletions
|
@ -7,6 +7,7 @@ import signal
|
|||
import subprocess
|
||||
import sys
|
||||
from test import support, script_helper
|
||||
from test.script_helper import assert_python_ok
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
|
@ -256,6 +257,20 @@ faulthandler._read_null()
|
|||
finally:
|
||||
sys.stderr = orig_stderr
|
||||
|
||||
def test_disabled_by_default(self):
|
||||
# By default, the module should be disabled
|
||||
code = "import faulthandler; print(faulthandler.is_enabled())"
|
||||
rc, stdout, stderr = assert_python_ok("-c", code)
|
||||
stdout = (stdout + stderr).strip()
|
||||
self.assertEqual(stdout, b"False")
|
||||
|
||||
def test_sys_xoptions(self):
|
||||
# Test python -X faulthandler
|
||||
code = "import faulthandler; print(faulthandler.is_enabled())"
|
||||
rc, stdout, stderr = assert_python_ok("-X", "faulthandler", "-c", code)
|
||||
stdout = (stdout + stderr).strip()
|
||||
self.assertEqual(stdout, b"True")
|
||||
|
||||
def check_dump_traceback(self, filename):
|
||||
"""
|
||||
Explicitly call dump_traceback() function and check its output.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue