import lldb from lldbsuite.test.lldbtest import * from lldbsuite.test.decorators import * from lldbsuite.test import lldbutil class TestCase(TestBase): def test(self): self.build() _, process, _, _ = lldbutil.run_to_source_breakpoint( self, "break here", lldb.SBFileSpec("main.c") ) self.runCmd("command script import thing_formatter.py") frame = process.selected_thread.selected_frame x = frame.var("x") names = ("zero", "one") for i in range(x.num_children): idx = x.GetIndexOfChildWithName(f"[{i}]") self.assertEqual(idx, i) child = x.GetChildAtIndex(idx) self.assertEqual(child.name, names[idx]) idx = x.GetIndexOfChildWithName(f"[{x.num_children + 1}]") self.assertEqual(idx, lldb.UINT32_MAX)