Move get_signal_name() to test.support (#121251)

* Move get_signal_name() from test.libregrtest to test.support.
* Use get_signal_name() in support.script_helper.
* support.script_helper now decodes stdout and stderr from UTF-8,
  instead of ASCII, if a command failed.
This commit is contained in:
Victor Stinner 2024-07-02 10:34:13 +02:00 committed by GitHub
parent bfe0e4d769
commit 7435f053b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 65 additions and 58 deletions

View file

@ -3,6 +3,7 @@ import importlib
import io
import os
import shutil
import signal
import socket
import stat
import subprocess
@ -732,6 +733,17 @@ class TestSupport(unittest.TestCase):
self.assertEqual(support.copy_python_src_ignore(path, os.listdir(path)),
ignored)
def test_get_signal_name(self):
for exitcode, expected in (
(-int(signal.SIGINT), 'SIGINT'),
(-int(signal.SIGSEGV), 'SIGSEGV'),
(128 + int(signal.SIGABRT), 'SIGABRT'),
(3221225477, "STATUS_ACCESS_VIOLATION"),
(0xC00000FD, "STATUS_STACK_OVERFLOW"),
):
self.assertEqual(support.get_signal_name(exitcode), expected,
exitcode)
# XXX -follows a list of untested API
# make_legacy_pyc
# is_resource_enabled