================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits