1*83bd2c4aSJaroslav Sevcik"""
2*83bd2c4aSJaroslav SevcikTest children counts of pointer values.
3*83bd2c4aSJaroslav Sevcik"""
4*83bd2c4aSJaroslav Sevcik
5*83bd2c4aSJaroslav Sevcikimport lldb
6*83bd2c4aSJaroslav Sevcikfrom lldbsuite.test.decorators import *
7*83bd2c4aSJaroslav Sevcikfrom lldbsuite.test.lldbtest import *
8*83bd2c4aSJaroslav Sevcikfrom lldbsuite.test import lldbutil
9*83bd2c4aSJaroslav Sevcik
10*83bd2c4aSJaroslav Sevcik
11*83bd2c4aSJaroslav Sevcikclass TestPointerNumChilden(TestBase):
12*83bd2c4aSJaroslav Sevcik
13*83bd2c4aSJaroslav Sevcik    def test_pointer_num_children(self):
14*83bd2c4aSJaroslav Sevcik        self.build()
15*83bd2c4aSJaroslav Sevcik        lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.cpp"))
16*83bd2c4aSJaroslav Sevcik
17*83bd2c4aSJaroslav Sevcik        result = self.frame().FindVariable("Ref")
18*83bd2c4aSJaroslav Sevcik        self.assertEqual(1, result.GetNumChildren())
19*83bd2c4aSJaroslav Sevcik        self.assertEqual(2, result.GetChildAtIndex(0).GetNumChildren())
20*83bd2c4aSJaroslav Sevcik        self.assertEqual("42", result.GetChildAtIndex(0).GetChildAtIndex(0).GetValue())
21*83bd2c4aSJaroslav Sevcik        self.assertEqual("56", result.GetChildAtIndex(0).GetChildAtIndex(1).GetValue())
22*83bd2c4aSJaroslav Sevcik
23*83bd2c4aSJaroslav Sevcik        result = self.frame().FindVariable("Ptr")
24*83bd2c4aSJaroslav Sevcik        self.assertEqual(1, result.GetNumChildren())
25*83bd2c4aSJaroslav Sevcik        self.assertEqual(2, result.GetChildAtIndex(0).GetNumChildren())
26*83bd2c4aSJaroslav Sevcik        self.assertEqual("42", result.GetChildAtIndex(0).GetChildAtIndex(0).GetValue())
27*83bd2c4aSJaroslav Sevcik        self.assertEqual("56", result.GetChildAtIndex(0).GetChildAtIndex(1).GetValue())
28