https://github.com/da-viper updated https://github.com/llvm/llvm-project/pull/214701
>From 4e398ee02da6140ac9cc701039e11ea2a720cba4 Mon Sep 17 00:00:00 2001 From: Ebuka Ezike <[email protected]> Date: Fri, 7 Aug 2026 11:39:31 +0100 Subject: [PATCH 1/4] [lldb] Add a reason for all requireNot* decorators. Previously, tests using the @requireNot* decorators documented by the test was skipped using a trailing comment that never made it into the test report. Change the decorator to take a required `reason` parameter. as the test should have a reason why it is not required. fix the build issue --- .../Python/lldbsuite/test/decorators.py | 34 +++++++++++-------- .../API/driver/batch_mode/TestBatchMode.py | 2 +- lldb/test/API/macosx/mte/TestDarwinMTE.py | 2 +- .../TestExprPathRegisters.py | 2 +- .../TestGlobalModuleCache.py | 2 +- .../python_api/hello_world/TestHelloWorld.py | 4 +-- .../process/address-masks/TestAddressMasks.py | 2 +- .../read-mem-cstring/TestReadMemCString.py | 2 +- .../sbenvironment/TestSBEnvironment.py | 2 +- .../python_api/sbplatform/TestSBPlatform.py | 2 +- lldb/test/API/qemu/TestQemuLaunch.py | 2 +- .../lldb-server/TestGdbRemoteAuxvSupport.py | 10 +++--- .../tools/lldb-server/TestLldbGdbServer.py | 2 +- .../test/API/tools/lldb-server/TestNonStop.py | 2 +- .../inferior-crash/TestGdbRemoteAbort.py | 2 +- .../inferior-crash/TestGdbRemoteSegFault.py | 2 +- .../TestGdbRemote_QPassSignals.py | 2 +- .../lldb-server/vCont-threads/TestSignal.py | 16 ++++----- 18 files changed, 48 insertions(+), 44 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index 840e4f1797720..83875a41dc42e 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -5,6 +5,7 @@ from collections.abc import Callable from functools import wraps +from typing import Optional from packaging import version import contextlib import ctypes @@ -1165,16 +1166,19 @@ def requirePlatform(oslist): ) -def requireNotPlatform(oslist): +def requireNotPlatform(oslist: list[str], reason: Optional[str] = None): """Mark the item as inherently inapplicable to the listed target platforms. Unlike `skipIfPlatform`, the listed platforms are reported as UNSUPPORTED rather than SKIPPED. """ - return unittest.skipIf( - lldbplatformutil.getPlatform() in oslist, - UnsupportedReason("unsupported on %s" % (", ".join(oslist))), - ) + assert isinstance( + reason, (str, type(None)) + ), f"expects 'str' or 'None' got {type(reason).__name__!r}" + + skip_reason = reason or UnsupportedReason(f"unsupported on {', '.join(oslist)}") + + return unittest.skipIf(lldbplatformutil.getPlatform() in oslist, skip_reason) def requireDarwin(func): @@ -1183,9 +1187,9 @@ def requireDarwin(func): return requirePlatform(lldbplatform.translate(lldbplatform.darwin_all))(func) -def requireNotDarwin(func): +def requireNotDarwin(reason: str): """Mark the item as inherently inapplicable to Darwin targets.""" - return requireNotPlatform(lldbplatform.translate(lldbplatform.darwin_all))(func) + return requireNotPlatform(lldbplatform.translate(lldbplatform.darwin_all), reason=reason) def requireLinux(func): @@ -1194,9 +1198,9 @@ def requireLinux(func): return requirePlatform(["linux"])(func) -def requireNotLinux(func): +def requireNotLinux(reason: str): """Mark the item as inherently inapplicable to Linux targets.""" - return requireNotPlatform(["linux"])(func) + return requireNotPlatform(["linux"], reason=reason) def requireWindows(func): @@ -1205,13 +1209,13 @@ def requireWindows(func): return requirePlatform(["windows"])(func) -def requireNotWindows(func): +def requireNotWindows(reason: str): """Mark the item as inherently inapplicable to Windows targets. Use this for tests built on POSIX-only concepts: fork/exec semantics, POSIX signals, ptrace, ELF/Mach-O specifics, shell pipelines, and so on. """ - return requireNotPlatform(["windows"])(func) + return requireNotPlatform(["windows"], reason=reason) def requirePOSIX(func): @@ -1221,7 +1225,7 @@ def requirePOSIX(func): dependency is POSIX semantics generally rather than anything about Windows specifically. """ - return requireNotPlatform(["windows"])(func) + return requireNotPlatform(["windows"], reason="uses the posix API.")(func) def requireSignals(func): @@ -1231,17 +1235,17 @@ def requireSignals(func): def requireExpressionEvaluation(func): """Mark the item as requiring expression evaluation.""" - return requireNotWasm(func) + return requireNotWasm(reason="needs expression evaluation support")(func) -def requireNotWasm(func): +def requireNotWasm(reason: str): """Mark the item as inherently inapplicable to WebAssembly targets. WebAssembly has no processes, no signals, no shared libraries and no ptrace-style debugging, so a large amount of the test suite can never apply to it. """ - return requireNotPlatform(["wasip1", "wasi"])(func) + return requireNotPlatform(["wasip1", "wasi"], reason=reason) def requireHostPlatform(oslist): diff --git a/lldb/test/API/driver/batch_mode/TestBatchMode.py b/lldb/test/API/driver/batch_mode/TestBatchMode.py index 38b0871178395..f0998a7b56dbd 100644 --- a/lldb/test/API/driver/batch_mode/TestBatchMode.py +++ b/lldb/test/API/driver/batch_mode/TestBatchMode.py @@ -11,7 +11,7 @@ from lldbsuite.test.lldbpexpect import PExpectTest -@requireNotWasm # driver cannot launch a Wasm inferior +@requireNotWasm("driver cannot launch a Wasm inferior") class DriverBatchModeTest(PExpectTest): source = "main.c" diff --git a/lldb/test/API/macosx/mte/TestDarwinMTE.py b/lldb/test/API/macosx/mte/TestDarwinMTE.py index 812d563b88f5c..df627809385c8 100644 --- a/lldb/test/API/macosx/mte/TestDarwinMTE.py +++ b/lldb/test/API/macosx/mte/TestDarwinMTE.py @@ -11,7 +11,7 @@ exe_name = "uaf" # Must match Makefile -@requireNotWasm # memory tagging is a Darwin AArch64 feature +@requireNotWasm("memory tagging is a Darwin AArch64 feature") class TestDarwinMTE(TestBase): SHARED_BUILD_TESTCASE = False NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py b/lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py index 8cb6851516b3f..aa06f701b560d 100644 --- a/lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py +++ b/lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py @@ -50,7 +50,7 @@ def test_float_registers(self): if reg_value: self.verify_register_path(reg_value) - @requireNotWasm # wasm exposes no registers + @requireNotWasm("wasm exposes no registers") def test_all_registers(self): """Test all the registers that is avaiable on the machine""" self.build() diff --git a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py index a39d6fe191315..10bf7a3d2821d 100644 --- a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py +++ b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py @@ -12,7 +12,7 @@ import time -@requireNotWasm # modules carry no build ID to cache on +@requireNotWasm("modules carry no build ID to cache on") class GlobalModuleCacheTestCase(TestBase): SHARED_BUILD_TESTCASE = False # NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/python_api/hello_world/TestHelloWorld.py b/lldb/test/API/python_api/hello_world/TestHelloWorld.py index 888f0d8a04b45..8935ec2fdd447 100644 --- a/lldb/test/API/python_api/hello_world/TestHelloWorld.py +++ b/lldb/test/API/python_api/hello_world/TestHelloWorld.py @@ -72,7 +72,7 @@ def test_with_process_launch_api(self): @expectedFailureAll(oslist=["windows"], archs=["aarch64"]) @skipIfiOSSimulator - @requireNotWasm # attaching requires launching the inferior as a host process + @requireNotWasm("attaching requires launching the inferior as a host process") def test_with_attach_to_process_with_id_api(self): """Create target, spawn a process, and attach to it with process id.""" exe = "%s_%d" % (self.testMethodName, os.getpid()) @@ -105,7 +105,7 @@ def test_with_attach_to_process_with_id_api(self): @expectedFailureAll(oslist=["windows"], archs=["aarch64"]) @skipIfiOSSimulator @skipIfAsan # FIXME: Hangs indefinitely. - @requireNotWasm # attaching requires launching the inferior as a host process + @requireNotWasm("attaching requires launching the inferior as a host process") def test_with_attach_to_process_with_name_api(self): """Create target, spawn a process, and attach to it with process name.""" exe = "%s_%d" % (self.testMethodName, os.getpid()) diff --git a/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py b/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py index 866972de5520d..83a2e294b0542 100644 --- a/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py +++ b/lldb/test/API/python_api/process/address-masks/TestAddressMasks.py @@ -7,7 +7,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no ABI plugin, so address masks are never applied +@requireNotWasm("no ABI plugin, so address masks are never applied") class AddressMasksTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py b/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py index 0373c225a60e8..5f094b036b32c 100644 --- a/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py +++ b/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py @@ -11,7 +11,7 @@ class TestReadMemCString(TestBase): NO_DEBUG_INFO_TESTCASE = True - @requireNotWasm # linear memory has no unmapped pages, so a bad in-range pointer still reads + @requireNotWasm("linear memory has no unmapped pages, so a bad in-range pointer still reads") def test_read_memory_c_string(self): """Test corner case behavior of SBProcess::ReadCStringFromMemory""" self.build() diff --git a/lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py b/lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py index f78b7a681bd68..621abe2b8af1b 100644 --- a/lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py +++ b/lldb/test/API/python_api/sbenvironment/TestSBEnvironment.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no remote environment support +@requireNotWasm("no remote environment support") class SBEnvironmentAPICase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/python_api/sbplatform/TestSBPlatform.py b/lldb/test/API/python_api/sbplatform/TestSBPlatform.py index 2a78f0106e18c..c98178b59dec0 100644 --- a/lldb/test/API/python_api/sbplatform/TestSBPlatform.py +++ b/lldb/test/API/python_api/sbplatform/TestSBPlatform.py @@ -10,7 +10,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no remote platform file/process APIs +@requireNotWasm("no remote platform file/process APIs") class SBPlatformAPICase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/qemu/TestQemuLaunch.py b/lldb/test/API/qemu/TestQemuLaunch.py index ecdb16afc2c12..0967f3c214cb6 100644 --- a/lldb/test/API/qemu/TestQemuLaunch.py +++ b/lldb/test/API/qemu/TestQemuLaunch.py @@ -14,7 +14,7 @@ @skipIfRemote @skipIfWindows @skipIf(archs=["arm64e"]) -@requireNotWasm # no qemu-wasm32 +@requireNotWasm("no qemu-wasm32") class TestQemuLaunch(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py b/lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py index 43eac3ed2fb93..e3981b214c95a 100644 --- a/lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py +++ b/lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py @@ -69,14 +69,14 @@ def get_raw_auxv_data(self): self.assertIsNotNone(content_raw) return (word_size, self.decode_gdbremote_binary(content_raw)) - @requireNotWindows # no auxv support. - @requireNotDarwin + @requireNotWindows("no auxv support.") + @requireNotDarwin("no auxv support.") def test_supports_auxv(self): self.build() self.set_inferior_startup_launch() self.assertTrue(self.has_auxv_support()) - @requireNotWindows + @requireNotWindows("no auxv support.") @expectedFailureNetBSD def test_auxv_data_is_correct_size(self): self.build() @@ -90,7 +90,7 @@ def test_auxv_data_is_correct_size(self): self.assertEqual(len(auxv_data) % (2 * word_size), 0) self.trace("auxv contains {} entries".format(len(auxv_data) / (2 * word_size))) - @requireNotWindows + @requireNotWindows("no auxv support.") @expectedFailureNetBSD def test_auxv_keys_look_valid(self): self.build() @@ -120,7 +120,7 @@ def test_auxv_keys_look_valid(self): self.assertGreaterEqual(auxv_key, 1) self.assertLessEqual(auxv_key, 2500) - @requireNotWindows + @requireNotWindows("no auxv support.") @expectedFailureNetBSD def test_auxv_chunked_reads_work(self): self.build() diff --git a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py index 3fe21cd9d53a9..921dff7f0a0a8 100644 --- a/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py +++ b/lldb/test/API/tools/lldb-server/TestLldbGdbServer.py @@ -479,7 +479,7 @@ def Hc_then_Csignal_signals_correct_thread(self, segfault_signo): self.assertEqual(post_handle_thread_id, print_thread_id) @expectedFailureDarwin - @requireNotWindows # no SIGSEGV support + @requireSignals @expectedFailureNetBSD def test_Hc_then_Csignal_signals_correct_thread_launch(self): self.build() diff --git a/lldb/test/API/tools/lldb-server/TestNonStop.py b/lldb/test/API/tools/lldb-server/TestNonStop.py index 71314195ac7f6..6f7dbd11982d7 100644 --- a/lldb/test/API/tools/lldb-server/TestNonStop.py +++ b/lldb/test/API/tools/lldb-server/TestNonStop.py @@ -5,7 +5,7 @@ class LldbGdbServerTestCase(gdbremote_testcase.GdbRemoteTestCaseBase): - @requireNotWindows # no SIGSEGV support + @requireSignals @add_test_categories(["llgs"]) def test_run(self): self.build() diff --git a/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py b/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py index 9997365f6d738..834da35b9da4e 100644 --- a/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py +++ b/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py @@ -5,7 +5,7 @@ class TestGdbRemoteAbort(gdbremote_testcase.GdbRemoteTestCaseBase): - @requireNotWindows # No signal is sent on Windows. + @requireSignals # std::abort() on <= API 16 raises SIGSEGV - b.android.com/179836 @expectedFailureAndroid(api_levels=list(range(16 + 1))) def test_inferior_abort_received_llgs(self): diff --git a/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py b/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py index be157c6f81e53..bf66e2128f3c0 100644 --- a/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py +++ b/lldb/test/API/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py @@ -30,7 +30,7 @@ def inferior_seg_fault_received(self, expected_signo): self.assertIsNotNone(hex_exit_code) self.assertEqual(int(hex_exit_code, 16), expected_signo) - @requireNotWindows # No signal is sent on Windows. + @requireSignals def test_inferior_seg_fault_received(self): self.build() if self.platformIsDarwin(): diff --git a/lldb/test/API/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py b/lldb/test/API/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py index f1016a035cf43..2a2ee8d186a04 100644 --- a/lldb/test/API/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py +++ b/lldb/test/API/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py @@ -87,7 +87,7 @@ def test_change_signals_at_runtime(self): self.ignore_signals(signals_to_ignore) self.expect_exit_code(len(signals_to_ignore)) - @requireNotWindows # no signal support + @requireSignals @expectedFailureNetBSD def test_default_signals_behavior(self): self.build() diff --git a/lldb/test/API/tools/lldb-server/vCont-threads/TestSignal.py b/lldb/test/API/tools/lldb-server/vCont-threads/TestSignal.py index 667411c58a61e..c39efaad4a42f 100644 --- a/lldb/test/API/tools/lldb-server/vCont-threads/TestSignal.py +++ b/lldb/test/API/tools/lldb-server/vCont-threads/TestSignal.py @@ -54,7 +54,7 @@ def get_pid(self): procinfo = self.parse_process_info_response(context) return int(procinfo["pid"], 16) - @requireNotWindows + @requireSignals @skipIfDarwin @expectedFailureNetBSD @expectedFailureAll( @@ -85,7 +85,7 @@ def test_signal_one_thread(self): "C{0:x}:{1:x};c".format(lldbutil.get_signal_number("SIGUSR1")), threads[:1] ) - @requireNotWindows + @requireSignals @skipIfDarwin @expectedFailureNetBSD @expectedFailureAll( @@ -106,7 +106,7 @@ def test_signal_all_threads(self): threads, ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" @@ -126,7 +126,7 @@ def test_signal_process_by_pid(self): threads, ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" @@ -143,7 +143,7 @@ def test_signal_process_minus_one(self): "C{0:x}:p-1".format(lldbutil.get_signal_number("SIGUSR1")), threads ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" @@ -159,7 +159,7 @@ def test_signal_minus_one(self): "C{0:x}:-1".format(lldbutil.get_signal_number("SIGUSR1")), threads ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" @@ -180,7 +180,7 @@ def test_signal_all_threads_by_pid(self): threads, ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" @@ -200,7 +200,7 @@ def test_signal_minus_one_by_pid(self): threads, ) - @requireNotWindows + @requireSignals @expectedFailureNetBSD @expectedFailureAll( oslist=["freebsd"], bugnumber="github.com/llvm/llvm-project/issues/56086" >From 97d0b45e88c70085773b1142326329e4830c27ef Mon Sep 17 00:00:00 2001 From: Ebuka Ezike <[email protected]> Date: Fri, 7 Aug 2026 12:19:22 +0100 Subject: [PATCH 2/4] fix format --- lldb/packages/Python/lldbsuite/test/decorators.py | 6 ++++-- .../process/read-mem-cstring/TestReadMemCString.py | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index 83875a41dc42e..f3e21c4b604bd 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -1166,7 +1166,7 @@ def requirePlatform(oslist): ) -def requireNotPlatform(oslist: list[str], reason: Optional[str] = None): +def requireNotPlatform(oslist: list, reason: Optional[str] = None): """Mark the item as inherently inapplicable to the listed target platforms. Unlike `skipIfPlatform`, the listed platforms are reported as UNSUPPORTED @@ -1189,7 +1189,9 @@ def requireDarwin(func): def requireNotDarwin(reason: str): """Mark the item as inherently inapplicable to Darwin targets.""" - return requireNotPlatform(lldbplatform.translate(lldbplatform.darwin_all), reason=reason) + return requireNotPlatform( + lldbplatform.translate(lldbplatform.darwin_all), reason=reason + ) def requireLinux(func): diff --git a/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py b/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py index 5f094b036b32c..27465d3791dd8 100644 --- a/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py +++ b/lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py @@ -11,7 +11,9 @@ class TestReadMemCString(TestBase): NO_DEBUG_INFO_TESTCASE = True - @requireNotWasm("linear memory has no unmapped pages, so a bad in-range pointer still reads") + @requireNotWasm( + "linear memory has no unmapped pages, so a bad in-range pointer still reads" + ) def test_read_memory_c_string(self): """Test corner case behavior of SBProcess::ReadCStringFromMemory""" self.build() >From ec2cf9a7205d1fae38ab2499269d5d80e651b1a1 Mon Sep 17 00:00:00 2001 From: Ebuka Ezike <[email protected]> Date: Tue, 11 Aug 2026 22:37:33 +0100 Subject: [PATCH 3/4] add review changes --- lldb/packages/Python/lldbsuite/test/decorators.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index f3e21c4b604bd..14c6a0fe16dbe 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -1176,9 +1176,13 @@ def requireNotPlatform(oslist: list, reason: Optional[str] = None): reason, (str, type(None)) ), f"expects 'str' or 'None' got {type(reason).__name__!r}" - skip_reason = reason or UnsupportedReason(f"unsupported on {', '.join(oslist)}") + skip_reason = f"unsupported on {', '.join(oslist)}" + if reason: + skip_reason += f": {reason}" - return unittest.skipIf(lldbplatformutil.getPlatform() in oslist, skip_reason) + return unittest.skipIf( + lldbplatformutil.getPlatform() in oslist, UnsupportedReason(skip_reason) + ) def requireDarwin(func): >From 453d554d751eb86eb4be24e5df8661e3564522d1 Mon Sep 17 00:00:00 2001 From: Ebuka Ezike <[email protected]> Date: Wed, 12 Aug 2026 00:11:56 +0100 Subject: [PATCH 4/4] [lldb] rebase changes --- .../expression/call-restarts/TestCallThatRestarts.py | 2 +- .../API/commands/frame/recognizer/TestFrameRecognizer.py | 2 +- .../test/API/commands/platform/basic/TestPlatformPython.py | 2 +- .../API/commands/platform/connect/TestPlatformConnect.py | 2 +- .../launchgdbserver/TestPlatformLaunchGDBServer.py | 2 +- .../API/commands/platform/process/list/TestProcessList.py | 2 +- lldb/test/API/commands/process/attach/TestProcessAttach.py | 2 +- lldb/test/API/commands/process/handle/TestProcessHandle.py | 2 +- .../launch-with-shellexpand/TestLaunchWithShellExpand.py | 2 +- .../process/reverse-continue/TestReverseContinue.py | 2 +- .../commands/register/register_command/TestRegisters.py | 2 +- .../TestAutoInstallMainExecutable.py | 2 +- .../after_rebuild/TestLocationsAfterRebuild.py | 6 ++++-- .../breakpoint/cpp/TestCPPBreakpointLocations.py | 7 ++++--- .../breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py | 2 +- .../delayed_breakpoints/TestDelayedBreakpoint.py | 2 +- .../require_hw_breakpoints/TestRequireHWBreakpoints.py | 2 +- .../simple_hw_breakpoints/TestSimpleHWBreakpoints.py | 2 +- .../builtin-debugtrap/TestBuiltinDebugTrap.py | 7 ++++--- lldb/test/API/functionalities/completion/TestCompletion.py | 7 ++++--- .../deleted-executable/TestDeletedExecutable.py | 4 ++-- lldb/test/API/functionalities/exec/TestExec.py | 2 +- .../fork/resumes-child/TestForkResumesChild.py | 2 +- .../gdb_remote_client/TestDynamicLoaderDarwin.py | 2 +- .../functionalities/gdb_remote_client/TestPlatformKill.py | 2 +- .../inferior-changed/TestInferiorChanged.py | 2 +- .../inferior-crashing/TestInferiorCrashing.py | 2 +- .../inferior-crashing/TestInferiorCrashingStep.py | 2 +- .../recursive-inferior/TestRecursiveInferior.py | 2 +- .../recursive-inferior/TestRecursiveInferiorStep.py | 2 +- lldb/test/API/functionalities/longjmp/TestLongjmp.py | 2 +- .../API/functionalities/memory/holes/TestMemoryHoles.py | 2 +- .../module_cache/simple_exe/TestModuleCacheSimple.py | 2 +- .../process_group/TestChangeProcessGroup.py | 2 +- .../API/functionalities/return-value/TestReturnValue.py | 2 +- .../reverse-execution/TestReverseContinueBreakpoints.py | 2 +- .../reverse-execution/TestReverseContinueWatchpoints.py | 2 +- .../scripted_frame_provider/TestScriptedFrameProvider.py | 3 ++- .../thread_filter/TestFrameProviderThreadFilter.py | 2 +- lldb/test/API/functionalities/signal/raise/TestRaise.py | 2 +- .../ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py | 2 +- .../ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py | 2 +- .../cross_object/TestCrossObjectTailCalls.py | 2 +- .../disambiguate_call_site/TestDisambiguateCallSite.py | 2 +- .../TestDisambiguatePathsToCommonSink.py | 2 +- .../TestDisambiguateTailCallSeq.py | 2 +- .../inlining_and_tail_calls/TestInliningAndTailCalls.py | 2 +- .../sbapi_support/TestTailCallFrameSBAPI.py | 2 +- .../TestArtificialFrameStepOutMessage.py | 2 +- .../TestSteppingOutWithArtificialFrames.py | 2 +- .../unambiguous_sequence/TestUnambiguousTailCalls.py | 2 +- .../API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py | 2 +- .../TestCppFloatingTypesSpecialization.py | 2 +- lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py | 2 +- .../lang/cpp/namespace_conflicts/TestNamespaceConflicts.py | 2 +- lldb/test/API/lang/cpp/operators/TestCppOperators.py | 2 +- .../TestPointerToMemberTypeDependingOnParentSize.py | 7 ++++--- lldb/test/API/lang/cpp/printf/TestPrintf.py | 2 +- lldb/test/API/lang/cpp/symbols/TestSymbols.py | 2 +- lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py | 2 +- lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py | 2 +- lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py | 2 +- lldb/test/API/tools/lldb-dap/console/TestDAP_console.py | 4 ++-- .../lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py | 2 +- .../API/tools/lldb-dap/disconnect/TestDAP_disconnect.py | 2 +- 65 files changed, 83 insertions(+), 76 deletions(-) diff --git a/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py b/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py index 2597d310c59d1..0b62acc4e78c1 100644 --- a/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py +++ b/lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py @@ -21,7 +21,7 @@ def setUp(self): self.main_source_spec = lldb.SBFileSpec(self.main_source) @skipIfDarwin # llvm.org/pr19246: intermittent failure - @requireNotWindows # Test relies on signals, unsupported on Windows + @requireNotWindows("Test relies on signals, unsupported on Windows") @expectedFlakeyAndroid(bugnumber="llvm.org/pr19246") @expectedFlakeyNetBSD def test(self): diff --git a/lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py b/lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py index caa4bbba49540..53060df59fd1e 100644 --- a/lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py +++ b/lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py @@ -374,7 +374,7 @@ def test_frame_recognizer_target_specific(self): substrs=["frame 0 is recognized by recognizer.MyFrameRecognizer"], ) - @requireNotWasm # $arg1/$arg2 need argument registers, unsupported on WebAssembly. + @requireNotWasm("$arg1/$arg2 need argument registers, unsupported on WebAssembly.") def test_frame_recognizer_not_only_first_instruction(self): self.build() exe = self.getBuildArtifact("a.out") diff --git a/lldb/test/API/commands/platform/basic/TestPlatformPython.py b/lldb/test/API/commands/platform/basic/TestPlatformPython.py index 24a95211597a9..927c2c773db5f 100644 --- a/lldb/test/API/commands/platform/basic/TestPlatformPython.py +++ b/lldb/test/API/commands/platform/basic/TestPlatformPython.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # platform shell needs a connected remote +@requireNotWasm("platform shell needs a connected remote") class PlatformPythonTestCase(TestBase): @add_test_categories(["pyapi"]) @no_debug_info_test diff --git a/lldb/test/API/commands/platform/connect/TestPlatformConnect.py b/lldb/test/API/commands/platform/connect/TestPlatformConnect.py index 2b1f62824d714..3eee8d2cc15a0 100644 --- a/lldb/test/API/commands/platform/connect/TestPlatformConnect.py +++ b/lldb/test/API/commands/platform/connect/TestPlatformConnect.py @@ -5,7 +5,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no remote platform to connect to +@requireNotWasm("no remote platform to connect to") class TestPlatformProcessConnect(TestBase): NO_DEBUG_INFO_TESTCASE = True SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py b/lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py index 150c22f8b6070..18e9ab79394e3 100644 --- a/lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py +++ b/lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py @@ -6,7 +6,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # cannot launch a gdbserver +@requireNotWasm("cannot launch a gdbserver") class TestPlatformProcessLaunchGDBServer(TestBase): NO_DEBUG_INFO_TESTCASE = True SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/commands/platform/process/list/TestProcessList.py b/lldb/test/API/commands/platform/process/list/TestProcessList.py index af21f1e348346..625035ef455ef 100644 --- a/lldb/test/API/commands/platform/process/list/TestProcessList.py +++ b/lldb/test/API/commands/platform/process/list/TestProcessList.py @@ -11,7 +11,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # attaching requires launching the inferior as a host process +@requireNotWasm("attaching requires launching the inferior as a host process") class ProcessListTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/commands/process/attach/TestProcessAttach.py b/lldb/test/API/commands/process/attach/TestProcessAttach.py index 5be6a3f6cf077..e658a0ad34341 100644 --- a/lldb/test/API/commands/process/attach/TestProcessAttach.py +++ b/lldb/test/API/commands/process/attach/TestProcessAttach.py @@ -13,7 +13,7 @@ exe_name = "ProcessAttach" # Must match Makefile -@requireNotWasm # attaching requires launching the inferior as a host process +@requireNotWasm("attaching requires launching the inferior as a host process") class ProcessAttachTestCase(TestBase): SHARED_BUILD_TESTCASE = False NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/commands/process/handle/TestProcessHandle.py b/lldb/test/API/commands/process/handle/TestProcessHandle.py index 87d2cc9ed1f0a..f6f39a9d28690 100644 --- a/lldb/test/API/commands/process/handle/TestProcessHandle.py +++ b/lldb/test/API/commands/process/handle/TestProcessHandle.py @@ -6,7 +6,7 @@ class TestProcessHandle(TestBase): @no_debug_info_test - @requireNotWindows + @requireSignals def test_process_handle(self): """Test that calling process handle before we have a target, and before we have a process will affect the process. Also that the signal settings diff --git a/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py b/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py index 750970d3275c3..2112d996d0173 100644 --- a/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py +++ b/lldb/test/API/commands/process/launch-with-shellexpand/TestLaunchWithShellExpand.py @@ -10,7 +10,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no host shell to expand arguments +@requireNotWasm("no host shell to expand arguments") class LaunchWithShellExpandTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/commands/process/reverse-continue/TestReverseContinue.py b/lldb/test/API/commands/process/reverse-continue/TestReverseContinue.py index 0bd8b99205d6d..21aa1c087816e 100644 --- a/lldb/test/API/commands/process/reverse-continue/TestReverseContinue.py +++ b/lldb/test/API/commands/process/reverse-continue/TestReverseContinue.py @@ -11,7 +11,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no reverse execution +@requireNotWasm("no reverse execution") class TestReverseContinue(ReverseTestBase): @skipIfRemote def test_reverse_continue(self): diff --git a/lldb/test/API/commands/register/register_command/TestRegisters.py b/lldb/test/API/commands/register/register_command/TestRegisters.py index ea89c5dffb156..b77a5e8794a15 100644 --- a/lldb/test/API/commands/register/register_command/TestRegisters.py +++ b/lldb/test/API/commands/register/register_command/TestRegisters.py @@ -702,7 +702,7 @@ def test_fs_gs_base(self): "fs_base does not equal to pthread_self() value.", ) - @requireNotWasm # attaching requires launching the inferior as a host process + @requireNotWasm("attaching requires launching the inferior as a host process") def test_process_must_be_stopped(self): """Check that all register commands error when the process is not stopped.""" self.build() diff --git a/lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py b/lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py index c994c24481e52..bc40e1e9baae4 100644 --- a/lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py +++ b/lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py @@ -10,7 +10,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no remote platform to auto-install onto +@requireNotWasm("no remote platform to auto-install onto") class TestAutoInstallMainExecutable(TestBase): NO_DEBUG_INFO_TESTCASE = True SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py b/lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py index 87490a49bec5e..ba1f686e78da3 100644 --- a/lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py +++ b/lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py @@ -18,8 +18,10 @@ class TestLocationsAfterRebuild(TestBase): # each debug info format. NO_DEBUG_INFO_TESTCASE = True - @requireNotWasm # a WASI executable wraps main, so a breakpoint on it takes two locations - @requireNotWindows # On Windows we cannot remove a file that lldb is debugging. + @requireNotWasm( + "a WASI executable wraps main, so a breakpoint on it takes two locations" + ) + @requireNotWindows("On Windows we cannot remove a file that lldb is debugging.") def test_remaining_location_spec(self): """If we rebuild a couple of times some of the old locations get removed. Make sure the command-line breakpoint id diff --git a/lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py b/lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py index f8587133bb36f..bf0a381a7d59a 100644 --- a/lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py +++ b/lldb/test/API/functionalities/breakpoint/cpp/TestCPPBreakpointLocations.py @@ -138,9 +138,10 @@ def breakpoint_id_tests(self): self.verify_breakpoint_locations(target, bp_dict) @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24764") - # Wasm emits a single merged destructor rather than the distinct D1/D2 - # variants whose mangled names this test looks up by hand. - @requireNotWasm + @requireNotWasm( + "Wasm emits a single merged destructor rather than the distinct D1/D2" + "variants whose mangled names this test looks up by hand." + ) def test_destructors(self): self.build() exe = self.getBuildArtifact("a.out") diff --git a/lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py b/lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py index ccf011cf0146d..769e1d82af5ae 100644 --- a/lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py +++ b/lldb/test/API/functionalities/breakpoint/cpp_exception/TestCPPExceptionBreakpoint.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # wasm inferiors are built with -fno-exceptions +@requireNotWasm("wasm inferiors are built with -fno-exceptions") class TestCPPExceptionBreakpoint(TestBase): my_var = 10 diff --git a/lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py b/lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py index ae78b924960a9..fb9a764b5170e 100644 --- a/lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py +++ b/lldb/test/API/functionalities/breakpoint/delayed_breakpoints/TestDelayedBreakpoint.py @@ -6,7 +6,7 @@ @skipIfWindowsAndNoLLDBServer -@requireNotWasm # iwasm gdb stub lacks the needed packets +@requireNotWasm("iwasm gdb stub lacks the needed packets") class TestDelayedBreakpoint(TestBase): def test(self): self.build() diff --git a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py index 1b83d8701a9f7..c99d521ab356c 100644 --- a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py +++ b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py @@ -14,7 +14,7 @@ from functionalities.breakpoint.hardware_breakpoints.base import * -@requireNotWasm # no hardware breakpoints +@requireNotWasm("no hardware breakpoints") class BreakpointLocationsTestCase(HardwareBreakpointTestBase): def test_breakpoint(self): """Test regular breakpoints when hardware breakpoints are required.""" diff --git a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/simple_hw_breakpoints/TestSimpleHWBreakpoints.py b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/simple_hw_breakpoints/TestSimpleHWBreakpoints.py index 5241c588dd661..c25959125ec97 100644 --- a/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/simple_hw_breakpoints/TestSimpleHWBreakpoints.py +++ b/lldb/test/API/functionalities/breakpoint/hardware_breakpoints/simple_hw_breakpoints/TestSimpleHWBreakpoints.py @@ -6,7 +6,7 @@ from functionalities.breakpoint.hardware_breakpoints.base import * -@requireNotWasm # no hardware breakpoints +@requireNotWasm("no hardware breakpoints") class SimpleHWBreakpointTest(HardwareBreakpointTestBase): @skipTestIfFn(HardwareBreakpointTestBase.hw_breakpoints_unsupported) def test(self): diff --git a/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py b/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py index fae4367c188b5..5b44f4513cd12 100644 --- a/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py +++ b/lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py @@ -11,9 +11,10 @@ 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. - @requireNotWasm + @requireNotWasm( + " __builtin_debugtrap lowers to the WebAssembly `unreachable` instruction, a" + "fatal trap that cannot be resumed as this test expects." + ) def test(self): platform_stop_reason = lldb.eStopReasonSignal platform = self.getPlatform() diff --git a/lldb/test/API/functionalities/completion/TestCompletion.py b/lldb/test/API/functionalities/completion/TestCompletion.py index 794c6a528bcdd..1ffdfaff3921b 100644 --- a/lldb/test/API/functionalities/completion/TestCompletion.py +++ b/lldb/test/API/functionalities/completion/TestCompletion.py @@ -2,7 +2,6 @@ Test the lldb command line completion mechanism. """ - import os from multiprocessing import Process import lldb @@ -12,7 +11,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # driver cannot launch a Wasm inferior +@requireNotWasm("driver cannot launch a Wasm inferior") class CommandLineCompletionTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True @@ -943,7 +942,9 @@ def test_shlib_name(self): self.build() error = lldb.SBError() # Create a target, but don't load dependent modules - target = self.dbg.CreateTarget(self.getBuildArtifact("a.out"), None, None, False, error) + target = self.dbg.CreateTarget( + self.getBuildArtifact("a.out"), None, None, False, error + ) self.assertSuccess(error) self.registerSharedLibrariesWithTarget(target, ["shared"]) diff --git a/lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py b/lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py index 688f58e12ec8a..4bf9bdd83473d 100644 --- a/lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py +++ b/lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py @@ -10,11 +10,11 @@ from lldbsuite.test import lldbutil -@requireNotWasm # attaching requires launching the inferior as a host process +@requireNotWasm("attaching requires launching the inferior as a host process") class TestDeletedExecutable(TestBase): NO_DEBUG_INFO_TESTCASE = True - @requireNotWindows # cannot delete a running executable + @requireNotWindows("cannot delete a running executable") def test(self): self.build() exe = self.getBuildArtifact("a.out") diff --git a/lldb/test/API/functionalities/exec/TestExec.py b/lldb/test/API/functionalities/exec/TestExec.py index 39b5cd41621c8..b9551fe386638 100644 --- a/lldb/test/API/functionalities/exec/TestExec.py +++ b/lldb/test/API/functionalities/exec/TestExec.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no exec() on WebAssembly +@requireNotWasm("no exec() on WebAssembly") class ExecTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/fork/resumes-child/TestForkResumesChild.py b/lldb/test/API/functionalities/fork/resumes-child/TestForkResumesChild.py index 5fa09f1354a53..d9105fb9a4c49 100644 --- a/lldb/test/API/functionalities/fork/resumes-child/TestForkResumesChild.py +++ b/lldb/test/API/functionalities/fork/resumes-child/TestForkResumesChild.py @@ -9,7 +9,7 @@ from lldbsuite.test.decorators import * -@requireNotWasm # no fork() on WebAssembly +@requireNotWasm("no fork() on WebAssembly") class TestForkResumesChild(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestDynamicLoaderDarwin.py b/lldb/test/API/functionalities/gdb_remote_client/TestDynamicLoaderDarwin.py index af65c5e6463ca..2ea86a669da41 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestDynamicLoaderDarwin.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestDynamicLoaderDarwin.py @@ -91,7 +91,7 @@ arm64_binary = "cffaedfe0c000001000000000200000010000000e8020000850020000000000019000000480000005f5f504147455a45524f00000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000019000000e80000005f5f54455854000000000000000000000000000001000000004000000000000000000000000000000040000000000000050000000500000002000000000000005f5f74657874000000000000000000005f5f5445585400000000000000000000b03f0000010000000800000000000000b03f0000020000000000000000000000000400800000000000000000000000005f5f756e77696e645f696e666f0000005f5f5445585400000000000000000000b83f0000010000004800000000000000b83f00000200000000000000000000000000000000000000000000000000000019000000480000005f5f4c494e4b45444954000000000000004000000100000000400000000000000040000000000000b8010000000000000100000001000000000000000000000034000080100000000040000038000000330000801000000038400000300000000200000018000000704000000100000080400000180000000b000000500000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000200000000c0000002f7573722f6c69622f64796c64000000000000001b00000018000000a9981092eb3632f4afd9957e769160d932000000200000000100000000000c0000050c000100000003000000000633032a0000001000000000000000000000002800008018000000b03f00000000000000000000000000000c00000038000000180000000200000001781f05000001002f7573722f6c69622f6c696253797374656d2e422e64796c696200000000000026000000100000006840000008000000290000001000000070400000000000001d00000010000000a04000001801" -@requireNotWasm # exercises the Darwin dynamic loader +@requireNotWasm("exercises the Darwin dynamic loader") class TestDynamicLoaderDarwin(GDBRemoteTestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py index fce4b586aa0d7..f76bf3c981d17 100644 --- a/lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py +++ b/lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py @@ -6,7 +6,7 @@ from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase -@requireNotWasm # attaching requires launching the inferior as a host process +@requireNotWasm("attaching requires launching the inferior as a host process") class TestPlatformKill(GDBRemoteTestBase): SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py b/lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py index 0b9e4f17ed957..448320e453a5e 100644 --- a/lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py +++ b/lldb/test/API/functionalities/inferior-changed/TestInferiorChanged.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # wasm has no memory-protection faults/signals +@requireNotWasm("wasm has no memory-protection faults/signals") class ChangedInferiorTestCase(TestBase): SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashing.py b/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashing.py index 09ea96bfeaca9..dfd311c766349 100644 --- a/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashing.py +++ b/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashing.py @@ -8,7 +8,7 @@ from lldbsuite.test.lldbtest import * -@requireNotWasm # wasm has no memory-protection faults/signals +@requireNotWasm("wasm has no memory-protection faults/signals") class CrashingInferiorTestCase(TestBase): @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778") @expectedFailureNetBSD diff --git a/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py b/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py index 8db051852a9a9..248830c7ccac5 100644 --- a/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py +++ b/lldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py @@ -8,7 +8,7 @@ from lldbsuite.test.lldbtest import * -@requireNotWasm # wasm has no memory-protection faults/signals +@requireNotWasm("wasm has no memory-protection faults/signals") class CrashingInferiorStepTestCase(TestBase): @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778") @expectedFailureNetBSD diff --git a/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py b/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py index 44d144d4df8ff..89f605510918b 100644 --- a/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py +++ b/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # wasm has no memory-protection faults/signals +@requireNotWasm("wasm has no memory-protection faults/signals") class CrashingRecursiveInferiorTestCase(TestBase): @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778") @expectedFailureNetBSD diff --git a/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py b/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py index 625f4467802d7..99d03c257801d 100644 --- a/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py +++ b/lldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # wasm has no memory-protection faults/signals +@requireNotWasm("wasm has no memory-protection faults/signals") class CrashingRecursiveInferiorStepTestCase(TestBase): def test_recursive_inferior_crashing_step(self): """Test that stepping after a crash behaves correctly.""" diff --git a/lldb/test/API/functionalities/longjmp/TestLongjmp.py b/lldb/test/API/functionalities/longjmp/TestLongjmp.py index 91bf789e6c9a7..99e33091d3ce1 100644 --- a/lldb/test/API/functionalities/longjmp/TestLongjmp.py +++ b/lldb/test/API/functionalities/longjmp/TestLongjmp.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # setjmp/longjmp on wasm requires exception-handling support +@requireNotWasm("setjmp/longjmp on wasm requires exception-handling support") class LongjmpTestCase(TestBase): @skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp @skipIfWindows # Test is flaky on Windows diff --git a/lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py b/lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py index 2921d41a7a6c3..ad1becefd5534 100644 --- a/lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py +++ b/lldb/test/API/functionalities/memory/holes/TestMemoryHoles.py @@ -9,7 +9,7 @@ from lldbsuite.test.decorators import * -@requireNotWasm # WASI has no mmap +@requireNotWasm("WASI has no mmap") class MemoryHolesTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py b/lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py index 9895720e25629..3b83143d45355 100644 --- a/lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py +++ b/lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py @@ -9,7 +9,7 @@ import time -@requireNotWasm # modules carry no build ID to cache on +@requireNotWasm("modules carry no build ID to cache on") class ModuleCacheTestcaseSimple(TestBase): SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py b/lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py index d02733c40b41d..2b5768e217c2a 100644 --- a/lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py +++ b/lldb/test/API/functionalities/process_group/TestChangeProcessGroup.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no fork()/setpgid() on WebAssembly +@requireNotWasm("no fork()/setpgid() on WebAssembly") class ChangeProcessGroupTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/return-value/TestReturnValue.py b/lldb/test/API/functionalities/return-value/TestReturnValue.py index b5c90d31a0f6d..ecf5e4d90657a 100644 --- a/lldb/test/API/functionalities/return-value/TestReturnValue.py +++ b/lldb/test/API/functionalities/return-value/TestReturnValue.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # return value is unrecoverable from the operand stack at a step-out +@requireNotWasm("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/reverse-execution/TestReverseContinueBreakpoints.py b/lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py index 6352f42be7051..dedf993a4ff45 100644 --- a/lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py +++ b/lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no reverse execution +@requireNotWasm("no reverse execution") class TestReverseContinueBreakpoints(ReverseTestBase): @skipIfRemote def test_reverse_continue(self): diff --git a/lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py b/lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py index 47a3464b99fa4..6143b568c6355 100644 --- a/lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py +++ b/lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py @@ -8,7 +8,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no reverse execution +@requireNotWasm("no reverse execution") class TestReverseContinueWatchpoints(ReverseTestBase): @skipIfRemote # Watchpoints don't work in single-step mode diff --git a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py index 86ece605ce660..eb327d2a34c90 100644 --- a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py +++ b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py @@ -10,7 +10,8 @@ from lldbsuite.test.lldbtest import TestBase from lldbsuite.test import lldbutil -@requireNotWasm # multithreaded C++ inferior; wasm has no threads or exceptions + +@requireNotWasm("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 ff6a3a2b7c7d0..756860625a8bc 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,7 +10,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # multithreaded C++ inferior; wasm has no threads or exceptions +@requireNotWasm("multithreaded C++ inferior; wasm has no threads or exceptions") class FrameProviderThreadFilterTestCase(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/functionalities/signal/raise/TestRaise.py b/lldb/test/API/functionalities/signal/raise/TestRaise.py index aa3a6db9405ba..e19f262aa6f31 100644 --- a/lldb/test/API/functionalities/signal/raise/TestRaise.py +++ b/lldb/test/API/functionalities/signal/raise/TestRaise.py @@ -20,7 +20,7 @@ def test_sigstop(self): # passing of SIGSTOP is not correctly handled, so not testing that # scenario: https://llvm.org/bugs/show_bug.cgi?id=23574 - @requireNotDarwin # darwin does not support real time signals + @requireNotDarwin("darwin does not support real time signals") @skipIfTargetAndroid() def test_sigsigrtmin(self): self.build() diff --git a/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py b/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py index be869a8cdc039..fa6459e4614b8 100644 --- a/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py +++ b/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py @@ -3,7 +3,7 @@ decorators = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), ] lldbinline.MakeInlineTest( diff --git a/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py b/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py index bb783fae80822..0689d968daee6 100644 --- a/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py +++ b/lldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py @@ -3,7 +3,7 @@ decorators = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), ] lldbinline.MakeInlineTest( diff --git a/lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py b/lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py index ab3d939c25ce9..b12a43092688d 100644 --- a/lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py +++ b/lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py @@ -7,7 +7,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # no unwinder support for tail-call frames +@requireNotWasm("no unwinder support for tail-call frames") class TestCrossObjectTailCalls(TestBase): @skipIf(compiler="clang", compiler_version=["<", "22.0"]) @skipIf(dwarf_version=["<", "4"]) diff --git a/lldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py b/lldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py index 1a610c57e319d..6dd7be18f1df6 100644 --- a/lldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py +++ b/lldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), ] diff --git a/lldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py b/lldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py index 3746fc62469d2..65b07423a6dda 100644 --- a/lldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py +++ b/lldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), ] diff --git a/lldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py b/lldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py index 783511ae2b497..268da2b969abc 100644 --- a/lldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py +++ b/lldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), ] diff --git a/lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py b/lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py index ec4e08aaae767..74b903debe326 100644 --- a/lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py +++ b/lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), ] diff --git a/lldb/test/API/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py b/lldb/test/API/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py index 778d0628f6127..52a6afb738ee0 100644 --- a/lldb/test/API/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py +++ b/lldb/test/API/functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py @@ -8,7 +8,7 @@ from lldbsuite.test.lldbtest import * -@requireNotWasm # no unwinder support for tail-call frames +@requireNotWasm("no unwinder support for tail-call frames") class TestTailCallFrameSBAPI(TestBase): @skipIf(compiler="clang", compiler_version=["<", "10.0"]) @skipIf(dwarf_version=["<", "4"]) diff --git a/lldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py b/lldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py index 7f8a6f696c801..c44a18e4f5184 100644 --- a/lldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py +++ b/lldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), ] diff --git a/lldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py b/lldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py index 73a07f1e35c63..5e46d381acc98 100644 --- a/lldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py +++ b/lldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py @@ -8,7 +8,7 @@ from lldbsuite.test.lldbtest import * -@requireNotWasm # no unwinder support for tail-call frames +@requireNotWasm("no unwinder support for tail-call frames") class TestArtificialFrameThreadStepOut1(TestBase): # If your test case doesn't stress debug info, then # set this to true. That way it won't be run once for diff --git a/lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py b/lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py index 7518acf6ba855..56aa2efa93e15 100644 --- a/lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py +++ b/lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py @@ -3,7 +3,7 @@ decor = [ decorators.skipUnlessHasCallSiteInfo, - decorators.requireNotWasm, # no unwinder support for tail-call frames + decorators.requireNotWasm("no unwinder support for tail-call frames"), decorators.skipIf(archs=["arm$"], oslist=["linux"]), decorators.skipIf(dwarf_version=["<", "4"]), decorators.skipIf(compiler="clang", compiler_version=["<", "11.0"]), diff --git a/lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py b/lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py index 27b690605cca8..ca7659b464d66 100644 --- a/lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py +++ b/lldb/test/API/lang/cpp/exceptions/TestCPPExceptionBreakpoints.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # wasm inferiors are built with -fno-exceptions +@requireNotWasm("wasm inferiors are built with -fno-exceptions") class CPPBreakpointTestCase(TestBase): def setUp(self): # Call super's setUp(). diff --git a/lldb/test/API/lang/cpp/floating-types-specialization/TestCppFloatingTypesSpecialization.py b/lldb/test/API/lang/cpp/floating-types-specialization/TestCppFloatingTypesSpecialization.py index 1a0e7055c85cf..5376e830eba8a 100644 --- a/lldb/test/API/lang/cpp/floating-types-specialization/TestCppFloatingTypesSpecialization.py +++ b/lldb/test/API/lang/cpp/floating-types-specialization/TestCppFloatingTypesSpecialization.py @@ -5,7 +5,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # _Float16/__bf16 are unsupported on the wasm target +@requireNotWasm("_Float16/__bf16 are unsupported on the wasm target") class TestCase(TestBase): @skipIf(compiler="clang", compiler_version=["<", "17.0"]) def test(self): diff --git a/lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py b/lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py index ba20388ea8d26..f0b5ba278f79f 100644 --- a/lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py +++ b/lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py @@ -1,4 +1,4 @@ from lldbsuite.test import lldbinline from lldbsuite.test import decorators -lldbinline.MakeInlineTest(__file__, globals(), [decorators.requireNotWasm]) +lldbinline.MakeInlineTest(__file__, globals(), [decorators.requireExpressionEvaluation]) diff --git a/lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py b/lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py index ba20388ea8d26..f0b5ba278f79f 100644 --- a/lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py +++ b/lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py @@ -1,4 +1,4 @@ from lldbsuite.test import lldbinline from lldbsuite.test import decorators -lldbinline.MakeInlineTest(__file__, globals(), [decorators.requireNotWasm]) +lldbinline.MakeInlineTest(__file__, globals(), [decorators.requireExpressionEvaluation]) diff --git a/lldb/test/API/lang/cpp/operators/TestCppOperators.py b/lldb/test/API/lang/cpp/operators/TestCppOperators.py index ee3c1d1199708..65b0e9a480cfb 100644 --- a/lldb/test/API/lang/cpp/operators/TestCppOperators.py +++ b/lldb/test/API/lang/cpp/operators/TestCppOperators.py @@ -5,7 +5,7 @@ __file__, globals(), [ - decorators.requireNotWasm, + decorators.requireExpressionEvaluation, decorators.expectedFailureAll(bugnumber="llvm.org/pr50814", compiler="gcc"), ], ) diff --git a/lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/TestPointerToMemberTypeDependingOnParentSize.py b/lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/TestPointerToMemberTypeDependingOnParentSize.py index 44c509272641d..6021e97379fea 100644 --- a/lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/TestPointerToMemberTypeDependingOnParentSize.py +++ b/lldb/test/API/lang/cpp/pointer_to_member_type_depending_on_parent_size/TestPointerToMemberTypeDependingOnParentSize.py @@ -8,9 +8,10 @@ class TestCase(TestBase): # GCC rejects the test code because `ToLayout` is not complete when # pointer_to_member_member is declared. @skipIf(compiler="gcc") - # On Windows both MSVC and Clang are rejecting the test code because - # `ToLayout` is not complete when pointer_to_member_member is declared. - @requireNotWindows + @requireNotWindows( + "On Windows both MSVC and Clang are rejecting the test code because" + "`ToLayout` is not complete when pointer_to_member_member is declared." + ) @no_debug_info_test def test(self): """ diff --git a/lldb/test/API/lang/cpp/printf/TestPrintf.py b/lldb/test/API/lang/cpp/printf/TestPrintf.py index f7264f99df2a2..e4c1822d5bb69 100644 --- a/lldb/test/API/lang/cpp/printf/TestPrintf.py +++ b/lldb/test/API/lang/cpp/printf/TestPrintf.py @@ -5,7 +5,7 @@ __file__, globals(), [ - decorators.requireNotWasm, + decorators.requireExpressionEvaluation, decorators.expectedFailureAll(bugnumber="llvm.org/PR36715", oslist=["windows"]), ], ) diff --git a/lldb/test/API/lang/cpp/symbols/TestSymbols.py b/lldb/test/API/lang/cpp/symbols/TestSymbols.py index 65682d57a0fed..5229eb942f1f9 100644 --- a/lldb/test/API/lang/cpp/symbols/TestSymbols.py +++ b/lldb/test/API/lang/cpp/symbols/TestSymbols.py @@ -5,7 +5,7 @@ __file__, globals(), [ - decorators.requireNotWasm, + decorators.requireExpressionEvaluation, decorators.expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24764"), ], ) diff --git a/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py b/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py index 4faec9d5613fd..1d7a907c17a77 100644 --- a/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py +++ b/lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py @@ -7,7 +7,7 @@ from lldbsuite.test import lldbtest -@requireNotWasm # checks the platform-specific TLS-uninitialized error, N/A to wasm +@requireNotWasm("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 a7a4b1f7fd12b..87638a082e0c3 100644 --- a/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py +++ b/lldb/test/API/lang/cpp/trivial_abi/TestTrivialABI.py @@ -9,7 +9,7 @@ from lldbsuite.test import lldbutil -@requireNotWasm # return value is unrecoverable from the operand stack at a step-out +@requireNotWasm("return value is unrecoverable from the operand stack at a step-out") class TestTrivialABI(TestBase): NO_DEBUG_INFO_TESTCASE = True diff --git a/lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py b/lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py index f2a7e4819e644..9baec029c45a4 100644 --- a/lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py +++ b/lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py @@ -25,7 +25,7 @@ # Often fails on Arm Linux, but not specifically because it's Arm, something in # process scheduling can cause a massive (minutes) delay during this test. @skipIf(oslist=["linux"], archs=["arm$"]) -@requireNotWasm # No attach support +@requireNotWasm("no attach support") class TestDAP_attach(DAPTestCaseBase): SHARED_BUILD_TESTCASE = False diff --git a/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py b/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py index 7ef4050a4e908..89db508bf7c38 100644 --- a/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py +++ b/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py @@ -116,9 +116,9 @@ def test_custom_escape_prefix(self): def test_empty_escape_prefix(self): self.do_test_with_escape_prefix("") - @requireNotWindows + @requireNotWindows("requires lldb-server") @requirePsutil - @requireNotWasm # the test signals the debug server, which for Wasm is the runtime + @requireNotWasm("the test signals the debug server, which for Wasm is the runtime") def test_exit_status_message_sigterm(self): import psutil diff --git a/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py b/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py index 5e3372d3c68c8..bd228e80746a1 100644 --- a/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py +++ b/lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py @@ -8,7 +8,7 @@ from lldbsuite.test.tools.lldb_dap.types import DataBreakpoint, LaunchArgs -@requireNotWasm # data breakpoints map to watchpoints +@requireNotWasm("data breakpoints map to watchpoints") class TestDAP_setDataBreakpoints(DAPTestCaseBase): ACCESS_TYPES = ["read", "write", "readWrite"] diff --git a/lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py b/lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py index 537d4e399b06c..c6ebef2e584a1 100644 --- a/lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py +++ b/lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py @@ -11,7 +11,7 @@ import os -@requireNotWasm # no attach support +@requireNotWasm("no attach support") class TestDAP_disconnect(lldbdap_testcase.DAPTestCaseBase): SHARED_BUILD_TESTCASE = False _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
