bpo-30705: Fix test_regrtest.test_crashed() (#2439)
* Add test.support._crash_python() which triggers a crash but uses
test.support.SuppressCrashReport() to prevent a crash report from
popping up.
* Modify test_child_terminated_in_stopped_state() of test_subprocess
and test_crashed() of test_regrtest to use _crash_python().
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index e0eb6f2..7763337 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -1277,7 +1277,7 @@
code = textwrap.dedent("""
import ctypes
- from test.support import SuppressCrashReport
+ from test.support import _crash_python
libc = ctypes.CDLL({libc_name!r})
libc.ptrace({PTRACE_TRACEME}, 0, 0)
@@ -1288,9 +1288,8 @@
raise unittest.SkipTest('ptrace() failed - unable to test')
code += textwrap.dedent("""
- with SuppressCrashReport():
- # Crash the process
- libc.printf(ctypes.c_char_p(0xdeadbeef)) # Crash the process.
+ # Crash the process
+ _crash_python()
""")
child = subprocess.Popen([sys.executable, '-c', code])
try: