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
