https://github.com/JDevlieghere created 
https://github.com/llvm/llvm-project/pull/207102

- TestReturnValue, TestTrivialABI: a WebAssembly return value lives on the 
operand stack with no way to locate it at a step-out, so the returned value 
can't be recovered.
- TestScriptedFrameProvider, TestFrameProviderThreadFilter: the inferior is 
multithreaded C++, which wasip1 can't build (no threads, and inferiors are 
compiled without exception support).
- TestThreadLocal: reading thread-locals works, but the test checks the 
platform-specific error reported when TLS isn't initialized yet, which 
WebAssembly doesn't have (already xfail/skip on other platforms).

>From 3d217cd2b8fd17243984256bfb3d4892372a50ae Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <[email protected]>
Date: Wed, 1 Jul 2026 16:47:28 -0700
Subject: [PATCH] [lldb][test] Skip tests for features unsupported on
 WebAssembly

- TestReturnValue, TestTrivialABI: a WebAssembly return value lives on
  the operand stack with no way to locate it at a step-out, so the
  returned value can't be recovered.
- TestScriptedFrameProvider, TestFrameProviderThreadFilter: the inferior
  is multithreaded C++, which wasip1 can't build (no threads, and
  inferiors are compiled without exception support).
- TestThreadLocal: reading thread-locals works, but the test checks the
  platform-specific error reported when TLS isn't initialized yet, which
  WebAssembly doesn't have (already xfail/skip on other platforms).
---
 lldb/test/API/functionalities/return-value/TestReturnValue.py    | 1 +
 .../scripted_frame_provider/TestScriptedFrameProvider.py         | 1 +
 .../thread_filter/TestFrameProviderThreadFilter.py               | 1 +
 lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py           | 1 +
 lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py             | 1 +
 5 files changed, 5 insertions(+)

diff --git a/lldb/test/API/functionalities/return-value/TestReturnValue.py 
b/lldb/test/API/functionalities/return-value/TestReturnValue.py
index 89e6e67583d7c..9b155d071b6e4 100644
--- a/lldb/test/API/functionalities/return-value/TestReturnValue.py
+++ b/lldb/test/API/functionalities/return-value/TestReturnValue.py
@@ -9,6 +9,7 @@
 from lldbsuite.test import lldbutil
 
 
+@skipIfWasm  # return value is unrecoverable from the operand stack at a 
step-out
 class ReturnValueTestCase(TestBase):
     def affected_by_pr33042(self):
         return (
diff --git 
a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
 
b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
index b715d99964569..ddd9b68a632bb 100644
--- 
a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+++ 
b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
@@ -10,6 +10,7 @@
 from lldbsuite.test.lldbtest import TestBase
 from lldbsuite.test import lldbutil
 
+@skipIfWasm  # multithreaded C++ inferior; wasm has no threads or exceptions
 class ScriptedFrameProviderTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git 
a/lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
 
b/lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
index d145945a14536..ffaece44423fa 100644
--- 
a/lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
+++ 
b/lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
@@ -10,6 +10,7 @@
 from lldbsuite.test import lldbutil
 
 
+@skipIfWasm  # multithreaded C++ inferior; wasm has no threads or exceptions
 class FrameProviderThreadFilterTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py 
b/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
index 0b63e15e876d6..3e7bca426f5c2 100644
--- a/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
+++ b/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
@@ -7,6 +7,7 @@
 from lldbsuite.test import lldbtest
 
 
+@skipIfWasm  # checks the platform-specific TLS-uninitialized error, N/A to 
wasm
 class PlatformProcessCrashInfoTestCase(TestBase):
     @expectedFailureAll(oslist=["windows", "linux", "freebsd", "netbsd"])
     @skipIfDarwin  # rdar://120795095
diff --git a/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py 
b/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
index cdc9da08a1fa4..021d14d613aec 100644
--- a/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
+++ b/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py
@@ -9,6 +9,7 @@
 from lldbsuite.test import lldbutil
 
 
+@skipIfWasm  # return value is unrecoverable from the operand stack at a 
step-out
 class TestTrivialABI(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to