[Lldb-commits] [lldb] [lldb][test] Skip stop-reason tests unsupported on WebAssembly (PR #211266)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 22 06:53:25 PDT 2026
https://github.com/JDevlieghere created https://github.com/llvm/llvm-project/pull/211266
TestThreadStates::test_process_state expects a signal stop reason after "process interrupt", but the trap from the single step used to step off the breakpoint is reported as a trace stop. It is already skipped on Linux and Darwin for the same reason.
TestBuiltinDebugTrap expects to continue past __builtin_debugtrap, but on WebAssembly that lowers to the unreachable instruction, a fatal trap that cannot be resumed.
>From ebd5ea78ac8ed7d5f785b01d2b926ab1d5260b66 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jonas at devlieghere.com>
Date: Wed, 22 Jul 2026 06:51:45 -0700
Subject: [PATCH] [lldb][test] Skip stop-reason tests unsupported on
WebAssembly
TestThreadStates::test_process_state expects a signal stop reason after
"process interrupt", but the trap from the single step used to step off
the breakpoint is reported as a trace stop. It is already skipped on
Linux and Darwin for the same reason.
TestBuiltinDebugTrap expects to continue past __builtin_debugtrap, but
on WebAssembly that lowers to the unreachable instruction, a fatal trap
that cannot be resumed.
---
.../functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py | 3 +++
lldb/test/API/functionalities/thread/state/TestThreadStates.py | 1 +
2 files changed, 4 insertions(+)
diff --git a/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py b/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
index 159325d2d488f..fc90e8a7ab588 100644
--- a/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
+++ b/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
@@ -11,6 +11,9 @@
class BuiltinDebugTrapTestCase(TestBase):
NO_DEBUG_INFO_TESTCASE = True
+ # __builtin_debugtrap lowers to the WebAssembly `unreachable` instruction, a
+ # fatal trap that cannot be resumed as this test expects.
+ @skipIfWasm
def test(self):
platform_stop_reason = lldb.eStopReasonSignal
platform = self.getPlatform()
diff --git a/lldb/test/API/functionalities/thread/state/TestThreadStates.py b/lldb/test/API/functionalities/thread/state/TestThreadStates.py
index 6198e0baf1c29..e46795debd502 100644
--- a/lldb/test/API/functionalities/thread/state/TestThreadStates.py
+++ b/lldb/test/API/functionalities/thread/state/TestThreadStates.py
@@ -37,6 +37,7 @@ def test_state_after_expression(self):
@skipIfDarwin # rdar://28557237
@skipIfLinux # llvm.org/pr15824 process interrupt stop reason is trace instead of signal sometimes
+ @skipIfWasm # llvm.org/pr15824 the interrupting single-step's trap is reported as trace, not signal
@expectedFailureAll(
oslist=["windows"],
bugnumber="llvm.org/pr24668: Breakpoints not resolved correctly",
More information about the lldb-commits
mailing list