================
@@ -55,14 +55,23 @@ def test_basic(self):
         self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
         # Verify the target names are correct.
-        self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-        self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-        self.assertEqual(
-            step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-        )
+        # The order of funcA and funcB may change depending on the compiler 
ABI.
+        funcA_target = None
+        funcB_target = None
+        for target in step_in_targets[0:2]:
+            if "funcB" in target["label"]:
+                funcB_target = target
+            elif "funcA" in target["label"]:
+                funcA_target = target
+            else:
+                self.fail(f"Unexpected step in target: {target}")
+
+        self.assertIsNotNone(funcA_target, "expect funcA")
+        self.assertIsNotNone(funcB_target, "expect funcB")
+        self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-        # Choose to step into second target and verify that we are in bar2()
-        self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+        # Choose to step into second target and verify that we are in funcB()
----------------
labath wrote:

funcB is not necessarily going to be the second target, so this comment is 
incorrect. However, instead of changing the comment, I think it'd be actually 
better to change the code so that it steps into the second function, regardless 
of what that function might be. This is because we would end up in the first 
function even if we did a "normal" step in operation rather than the fancy 
targetted one. Stepping into the second function verifies that we can correctly 
ignore the first function that gets called. (I wasn't the person who wrote the 
test, but I suspect this is roughly the motivation for it being written the way 
it is).

So basically, you could keep the `targetId=step_in_targets[1]["id"]` thing in 
the line below, but then change the expectation on line 77 to expect the 
function that we tried stepping into.

https://github.com/llvm/llvm-project/pull/96687
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to