[Lldb-commits] [lldb] [lldb][Windows] Re-enable tests that no longer flake (PR #227355)
Charles Zablit via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 29 08:51:56 PDT 2026
https://github.com/charles-zablit created https://github.com/llvm/llvm-project/pull/227355
Requires:
- https://github.com/llvm/llvm-project/pull/227353
- https://github.com/llvm/llvm-project/pull/227277
- https://github.com/llvm/llvm-project/pull/227308
- https://github.com/llvm/llvm-project/pull/227312
- https://github.com/llvm/llvm-project/pull/227317
>From 347abc397e639e4f9df922f27d2d4d673c787071 Mon Sep 17 00:00:00 2001
From: Charles Zablit <c_zablit at apple.com>
Date: Tue, 29 Sep 2026 16:50:05 +0100
Subject: [PATCH] [lldb][Windows] Re-enable tests that no longer flake
---
.../TestAutoInstallMainExecutable.py | 1 -
.../target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py | 1 -
.../multiple_threads/TestWatchpointMultipleThreads.py | 2 --
.../watchpoint_set_command/TestWatchLocationWithWatchSet.py | 1 -
.../breakpoint_ignore_count/TestBreakpointIgnoreCount.py | 4 ----
lldb/test/API/functionalities/longjmp/TestLongjmp.py | 3 ---
lldb/test/API/functionalities/memory/cache/TestMemoryCache.py | 1 -
.../API/functionalities/postmortem/mach-core/TestMachCore.py | 1 -
.../thread/create_after_attach/TestCreateAfterAttach.py | 1 -
lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py | 2 --
lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py | 1 -
lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py | 1 -
lldb/test/API/tools/lldb-server/TestNonStop.py | 1 -
13 files changed, 20 deletions(-)
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 080e0afca3c3a..1acb5df6c8664 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
@@ -17,7 +17,6 @@ class TestAutoInstallMainExecutable(TestBase):
@requireSocketPermission # lldb-server runs in platform mode on a socket
@skipIfRemote
- @skipIfWindows # This test is flaky on Windows
def test_target_auto_install_main_executable(self):
if lldbgdbserverutils.get_lldb_server_exe() is None:
self.skipTest("lldb-server not found")
diff --git a/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py b/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
index 05db47c8ff148..0e6f039304341 100644
--- a/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
+++ b/lldb/test/API/commands/target/stop-hooks/on-core-load/TestStopHookOnCoreLoad.py
@@ -16,7 +16,6 @@ class TestStopOnCoreLoad(TestBase):
# This was originally marked as expected failure on Windows, but it has
# started timing out instead, so the expectedFailure attribute no longer
# correctly tracks it: llvm.org/pr37371
- @skipIfWindows
def test_hook_runs_no_threads(self):
# Create core form YAML.
core_path = self.getBuildArtifact("test.core")
diff --git a/lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py b/lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
index 97519fa454536..e034b1768c6c8 100644
--- a/lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
+++ b/lldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
@@ -14,12 +14,10 @@ class WatchpointForMultipleThreadsTestCase(TestBase):
NO_DEBUG_INFO_TESTCASE = True
main_spec = lldb.SBFileSpec("main.cpp", False)
- @skipIfWindows # This test is flaky on Windows
def test_watchpoint_before_thread_start(self):
"""Test that we can hit a watchpoint we set before starting another thread"""
self.do_watchpoint_test("Before running the thread")
- @skipIfWindows # This test is flaky on Windows
def test_watchpoint_after_thread_launch(self):
"""Test that we can hit a watchpoint we set after launching another thread"""
self.do_watchpoint_test("After launching the thread")
diff --git a/lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py b/lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
index b598d49cc5031..2c5196b5f5410 100644
--- a/lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
+++ b/lldb/test/API/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
@@ -35,7 +35,6 @@ def setUp(self):
# method.
@skipIf(oslist=["linux"], archs=["aarch64", "arm$"], bugnumber="llvm.org/pr26031")
- @skipIfWindows # This test is flaky on Windows
def test_watchlocation_using_watchpoint_set(self):
"""Test watching a location with 'watchpoint set expression -w write -s size' option."""
self.build()
diff --git a/lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py b/lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
index 1fa03c71e85a0..f8438d6f02ee6 100644
--- a/lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
+++ b/lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
@@ -10,25 +10,21 @@
class BreakpointIgnoreCountTestCase(TestBase):
- @skipIfWindows # This test will hang on windows llvm.org/pr21753
def test_with_run_command(self):
"""Exercise breakpoint ignore count with 'breakpoint set -i <count>'."""
self.build()
self.breakpoint_ignore_count()
@add_test_categories(["pyapi"])
- @skipIfWindows # This test will hang on windows llvm.org/pr21753
def test_with_python_api(self):
"""Use Python APIs to set breakpoint ignore count."""
self.build()
self.breakpoint_ignore_count_python()
- @skipIfWindows # This test will hang on windows llvm.org/pr21753
def test_ignore_vrs_condition_bkpt(self):
self.build()
self.ignore_vrs_condition(False)
- @skipIfWindows # This test will hang on windows llvm.org/pr21753
def test_ignore_vrs_condition_loc(self):
self.build()
self.ignore_vrs_condition(True)
diff --git a/lldb/test/API/functionalities/longjmp/TestLongjmp.py b/lldb/test/API/functionalities/longjmp/TestLongjmp.py
index 99e33091d3ce1..191a283ec1180 100644
--- a/lldb/test/API/functionalities/longjmp/TestLongjmp.py
+++ b/lldb/test/API/functionalities/longjmp/TestLongjmp.py
@@ -12,7 +12,6 @@
@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
@expectedFlakeyNetBSD
def test_step_out(self):
"""Test stepping when the inferior calls setjmp/longjmp, in particular, thread step-out."""
@@ -20,7 +19,6 @@ def test_step_out(self):
self.step_out()
@skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp
- @skipIfWindows # Test is flaky on Windows
@skipIfNetBSD
def test_step_over(self):
"""Test stepping when the inferior calls setjmp/longjmp, in particular, thread step-over a longjmp."""
@@ -28,7 +26,6 @@ def test_step_over(self):
self.step_over()
@skipIfDarwin # llvm.org/pr16769: LLDB on Mac OS X dies in function ReadRegisterBytes in GDBRemoteRegisterContext.cpp
- @skipIfWindows # Test is flaky on Windows
@expectedFlakeyNetBSD
def test_step_back_out(self):
"""Test stepping when the inferior calls setjmp/longjmp, in particular, thread step-out after thread step-in."""
diff --git a/lldb/test/API/functionalities/memory/cache/TestMemoryCache.py b/lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
index 718215ba1d230..278da54926643 100644
--- a/lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
+++ b/lldb/test/API/functionalities/memory/cache/TestMemoryCache.py
@@ -16,7 +16,6 @@ def setUp(self):
# Find the line number to break inside main().
self.line = line_number("main.cpp", "// Set break point at this line.")
- @skipIfWindows # This is flakey on Windows: llvm.org/pr38373
def test_memory_cache(self):
"""Test the MemoryCache class with a sequence of 'memory read' and 'memory write' operations."""
self.build()
diff --git a/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py b/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
index bb72164cdaf8f..41170d2976863 100644
--- a/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
+++ b/lldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py
@@ -15,7 +15,6 @@ class MachCoreTestCase(TestBase):
# This was originally marked as expected failure on Windows, but it has
# started timing out instead, so the expectedFailure attribute no longer
# correctly tracks it: llvm.org/pr37371
- @skipIfWindows
def test_selected_thread(self):
"""Test that the right thread is selected after a core is loaded."""
# Create core form YAML.
diff --git a/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py b/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
index 3cc9ad197f4f4..c9ee28812c5d4 100644
--- a/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
+++ b/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
@@ -20,7 +20,6 @@ def setUp(self):
self.break_3 = line_number("main.cpp", "// Set third breakpoint here")
# Occasionally hangs on Windows, may be same as other issues.
- @skipIfWindows
@skipIfiOSSimulator
@expectedFailureNetBSD
def test_create_after_attach(self):
diff --git a/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py b/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
index 9dcb8fb91a1ae..6f6845cd84cef 100644
--- a/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
+++ b/lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
@@ -42,7 +42,6 @@ def runToBkpt(self, command):
substrs=["stopped", "stop reason = breakpoint"],
)
- @skipIfWindows # This is flakey on Windows: llvm.org/pr38373
@unittest.expectedFailure # CU-local objects incorrectly scoped
def test_scope_lookup_with_run_command_globals(self):
"""Test scope lookup of functions in lldb."""
@@ -99,7 +98,6 @@ def test_scope_lookup_with_run_command_globals(self):
# Evaluate ::func() - should call ::func()
self.expect_expr("::func()", result_type="int", result_value="1")
- @skipIfWindows # This is flakey on Windows: llvm.org/pr38373
@requireExpressionEvaluation
def test_scope_lookup_with_run_command(self):
"""Test scope lookup of functions in lldb."""
diff --git a/lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py b/lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
index b24d4796d53fa..512c254092707 100644
--- a/lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
+++ b/lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
@@ -77,7 +77,6 @@ def test_lldb_iter_breakpoint(self):
yours[i], mine[i], "ID of yours[{0}] and mine[{0}] matches".format(i)
)
- @skipIfWindows # This test is flaky on Windows
def test_lldb_iter_frame(self):
"""Test iterator works correctly for SBProcess->SBThread->SBFrame."""
self.build()
diff --git a/lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py b/lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
index a2ac1fdb6270f..ad84a40932c65 100644
--- a/lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
+++ b/lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
@@ -58,7 +58,6 @@ def test_launch_via_vRun(self):
self.assertEqual(context["O_content"], b"arg1\r\narg2\r\narg3\r\n")
@add_test_categories(["llgs"])
- @skipIfWindows # Sometimes returns '$E1f'.
def test_launch_via_vRun_no_args(self):
self.build()
server = self.connect_to_debug_monitor()
diff --git a/lldb/test/API/tools/lldb-server/TestNonStop.py b/lldb/test/API/tools/lldb-server/TestNonStop.py
index 6f7dbd11982d7..46334e520bf55 100644
--- a/lldb/test/API/tools/lldb-server/TestNonStop.py
+++ b/lldb/test/API/tools/lldb-server/TestNonStop.py
@@ -276,7 +276,6 @@ def test_multiple_vCont(self):
self.expect_gdbremote_sequence()
@add_test_categories(["llgs"])
- @skipIfWindows # Sometimes results in '$E37' instead of expected '$OK'
def test_vCont_then_stop(self):
self.build()
self.set_inferior_startup_launch()
More information about the lldb-commits
mailing list