[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