Issue #12550: regrtest displays the Python traceback on SIGALRM or SIGUSR1

This commit is contained in:
Victor Stinner 2011-07-13 23:47:21 +02:00
parent a9a9dab042
commit cb41cda8e3
1 changed files with 11 additions and 1 deletions

View File

@ -172,6 +172,7 @@ import os
import platform
import random
import re
import signal
import sys
import sysconfig
import tempfile
@ -266,9 +267,18 @@ def main(tests=None, testdir=None, verbose=0, quiet=False,
on the command line.
"""
# Display the Python traceback fatal errors (e.g. segfault)
# Display the Python traceback on fatal errors (e.g. segfault)
faulthandler.enable(all_threads=True)
# Display the Python traceback on SIGALRM or SIGUSR1 signal
signals = []
if hasattr(signal, 'SIGALRM'):
signals.append(signal.SIGALRM)
if hasattr(signal, 'SIGUSR1'):
signals.append(signal.SIGUSR1)
for signum in signals:
faulthandler.register(signum, chain=True)
replace_stdout()
support.record_original_stdout(sys.stdout)