summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/libregrtest/utils.py8
-rw-r--r--Lib/test/test_regrtest.py1
2 files changed, 9 insertions, 0 deletions
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"),
):