From ed785c08993467461711c56eb5e6f88331062cca Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 8 Apr 2024 19:16:43 +0200 Subject: Enhance regrtest get_signal_name(): support shell exit code (#117647) --- Lib/test/libregrtest/utils.py | 8 ++++++++ Lib/test/test_regrtest.py | 1 + 2 files changed, 9 insertions(+) diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py index 837f73b..791f996 100644 --- a/Lib/test/libregrtest/utils.py +++ b/Lib/test/libregrtest/utils.py @@ -698,6 +698,14 @@ def get_signal_name(exitcode): except ValueError: pass + # Shell exit code (ex: WASI build) + if 128 < exitcode < 256: + signum = exitcode - 128 + try: + return signal.Signals(signum).name + except ValueError: + pass + try: return WINDOWS_STATUS[exitcode] except KeyError: diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index d222b38..809abd7 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -2291,6 +2291,7 @@ class TestUtils(unittest.TestCase): 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"), ): -- cgit v0.12