[Lldb-commits] [lldb] [lldb] Tighten TestFrameProviderCircularDependency loop (PR #206987)

via lldb-commits lldb-commits at lists.llvm.org
Wed Jul 1 08:05:17 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: Charles Zablit (charles-zablit)

<details>
<summary>Changes</summary>

The third test in this file iterated `range(new_frame_count)` while the other two are bounded by `range(min(new_frame_count, 3))`.

On Windows the deeper iteration hits llvm.org/pr24778 (CRT startup symbol resolution) and fails on the bottom frame's `assertNotEqual(pc, 0)`. 

This patch makes the test match the sibling tests' bound. the test still exercises the circular-dependency invariant on the top three frames.

This fixes the test on Windows.

rdar://181125272

---
Full diff: https://github.com/llvm/llvm-project/pull/206987.diff


1 Files Affected:

- (modified) lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py (+1-2) 


``````````diff
diff --git a/lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py b/lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
index 87a30c150e4e3..6563a4003b1ed 100644
--- a/lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
+++ b/lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
@@ -47,7 +47,6 @@ def launch_and_stop_at_breakpoint(self):
         return target, thread
 
     @expectedFailureAll(oslist=["linux"], archs=["arm$"])
-    @expectedFailureWindowsAndNoLLDBServer(bugnumber="llvm.org/pr24778")
     def test_circular_dependency_with_function_replacement(self):
         """
         Test the circular dependency fix with a provider that replaces function names.
@@ -115,7 +114,7 @@ def test_circular_dependency_with_function_replacement(self):
         )
 
         # Verify we can call methods on all frames (no circular dependency!).
-        for i in range(new_frame_count):
+        for i in range(min(new_frame_count, 3)):
             frame = thread.GetFrameAtIndex(i)
             self.assertIsNotNone(frame, f"Frame {i} should exist")
             # These calls should not trigger circular dependency.

``````````

</details>


https://github.com/llvm/llvm-project/pull/206987


More information about the lldb-commits mailing list