[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