[Lldb-commits] [lldb] [lldb] Add a @skipIfNoSignals decorator for Windows and Wasm (PR #194760)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Tue Apr 28 17:50:47 PDT 2026


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

Add a new @skipIfNoSignals test decorator that skips tests on platforms that lack signal support (Windows & WASI).

>From 7a100b8c93d77a5c0c450f529793cb6f2067ffc6 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jonas at devlieghere.com>
Date: Tue, 28 Apr 2026 17:27:49 -0700
Subject: [PATCH] [lldb] Add a @skipIfNoSignals decorator for Windows and Wasm

Add a new @skipIfNoSignals test decorator that skips tests on platforms
that lack signal support: Windows & WASI.
---
 lldb/packages/Python/lldbsuite/test/decorators.py            | 5 +++++
 .../expression/call-restarts/TestCallThatRestarts.py         | 1 +
 .../process/attach/attach_denied/TestAttachDenied.py         | 1 +
 lldb/test/API/functionalities/signal/TestSendSignal.py       | 1 +
 .../functionalities/signal/handle-abrt/TestHandleAbort.py    | 1 +
 .../API/functionalities/signal/handle-segv/TestHandleSegv.py | 2 +-
 lldb/test/API/functionalities/signal/raise/TestRaise.py      | 2 +-
 lldb/test/API/python_api/signals/TestSignalsAPI.py           | 1 +
 lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py  | 1 +
 9 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py
index 32c68d7c5f08d..7847a8e9d6658 100644
--- a/lldb/packages/Python/lldbsuite/test/decorators.py
+++ b/lldb/packages/Python/lldbsuite/test/decorators.py
@@ -863,6 +863,11 @@ def skipIfLinux(func):
     return skipIfPlatform(["linux"])(func)
 
 
+def skipIfNoSignals(func):
+    """Decorate the item to skip tests on platforms without signal support."""
+    return skipIfPlatform(["windows", "wasip1", "wasi"])(func)
+
+
 def skipIfWindows(func=None, windows_version=None):
     """Decorate the item to skip tests that should be skipped on Windows."""
 
diff --git a/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py b/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
index a108ffe485efc..54b0ba9c191d4 100644
--- a/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
+++ b/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
@@ -9,6 +9,7 @@
 from lldbsuite.test import lldbutil
 
 
+ at skipIfNoSignals
 class ExprCommandThatRestartsTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py b/lldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py
index d72a710e8127b..2fbd5c710cd27 100644
--- a/lldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py
+++ b/lldb/test/API/commands/process/attach/attach_denied/TestAttachDenied.py
@@ -12,6 +12,7 @@
 exe_name = "AttachDenied"  # Must match Makefile
 
 
+ at skipIfNoSignals
 class AttachDeniedTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/functionalities/signal/TestSendSignal.py b/lldb/test/API/functionalities/signal/TestSendSignal.py
index 5b6a50a461cdf..d5dd093fc1557 100644
--- a/lldb/test/API/functionalities/signal/TestSendSignal.py
+++ b/lldb/test/API/functionalities/signal/TestSendSignal.py
@@ -7,6 +7,7 @@
 from lldbsuite.test import lldbutil
 
 
+ at skipIfNoSignals
 class SendSignalTestCase(TestBase):
     def setUp(self):
         # Call super's setUp().
diff --git a/lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py b/lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
index 488ae9833c9ee..90366cdad54e9 100644
--- a/lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
+++ b/lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
@@ -7,6 +7,7 @@
 from lldbsuite.test import lldbutil
 
 
+ at skipIfNoSignals
 class HandleAbortTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py b/lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
index de0d9e392d810..f1f568a8b80a7 100644
--- a/lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
+++ b/lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
@@ -7,8 +7,8 @@
 from lldbsuite.test import lldbutil
 
 
+ at skipIfNoSignals
 class HandleSegvTestCase(TestBase):
-    @skipIfWindows  # signals do not exist on Windows
     @skipIfDarwin
     @expectedFailureNetBSD
     def test_inferior_handle_sigsegv(self):
diff --git a/lldb/test/API/functionalities/signal/raise/TestRaise.py b/lldb/test/API/functionalities/signal/raise/TestRaise.py
index 9a6f2e6b70f39..cc3544a6121e8 100644
--- a/lldb/test/API/functionalities/signal/raise/TestRaise.py
+++ b/lldb/test/API/functionalities/signal/raise/TestRaise.py
@@ -9,7 +9,7 @@
 from lldbsuite.test import lldbutil
 
 
- at skipIfWindows  # signals do not exist on Windows
+ at skipIfNoSignals
 class RaiseTestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/python_api/signals/TestSignalsAPI.py b/lldb/test/API/python_api/signals/TestSignalsAPI.py
index 782d96b8b713f..550a0005fbdd1 100644
--- a/lldb/test/API/python_api/signals/TestSignalsAPI.py
+++ b/lldb/test/API/python_api/signals/TestSignalsAPI.py
@@ -10,6 +10,7 @@
 from lldbsuite.test.lldbutil import get_stopped_thread, state_type_to_str
 
 
+ at skipIfNoSignals
 class SignalsAPITestCase(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
diff --git a/lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py b/lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
index b92c3290ceb4c..ab701204e1808 100644
--- a/lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
+++ b/lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
@@ -7,6 +7,7 @@
 import lldbdap_testcase
 
 
+ at skipIfNoSignals
 class TestDAP_exception(lldbdap_testcase.DAPTestCaseBase):
     @skipIfWindows
     def test_stopped_description(self):



More information about the lldb-commits mailing list