xref: /llvm-project/lldb/test/API/lang/cpp/frame-var-depth-and-elem-count/TestFrameVarDepthAndElemCount.py (revision ab855530f797bbc113f75f833a4ca5711749d7c8)
1b1ebfc5dSAugusto Noronha"""
2b1ebfc5dSAugusto NoronhaTests that frame variable --depth and --element-count options work correctly
3b1ebfc5dSAugusto Noronhatogether
4b1ebfc5dSAugusto Noronha"""
5b1ebfc5dSAugusto Noronhaimport lldb
6b1ebfc5dSAugusto Noronhafrom lldbsuite.test.lldbtest import *
7b1ebfc5dSAugusto Noronhaimport lldbsuite.test.lldbutil as lldbutil
8b1ebfc5dSAugusto Noronha
9b1ebfc5dSAugusto Noronha
10b1ebfc5dSAugusto Noronhaclass TestFrameVarDepthAndElemCount(TestBase):
11b1ebfc5dSAugusto Noronha    def test(self):
12b1ebfc5dSAugusto Noronha        """Test that bool types work in the expression parser"""
13b1ebfc5dSAugusto Noronha        self.build()
14b1ebfc5dSAugusto Noronha        lldbutil.run_to_source_breakpoint(
15f94c7ffeSAugusto Noronha            self, "break here", lldb.SBFileSpec("main.cpp")
16b1ebfc5dSAugusto Noronha        )
17b1ebfc5dSAugusto Noronha
18b1ebfc5dSAugusto Noronha        # Check that we print 5 elements but only 2 levels deep.
19*ab855530SJonas Devlieghere        self.expect(
20*ab855530SJonas Devlieghere            "frame var --depth 2 --element-count 5 -- c",
21b1ebfc5dSAugusto Noronha            substrs=[
22*ab855530SJonas Devlieghere                "[0] = {\n    b ={...}\n  }",
23*ab855530SJonas Devlieghere                "[1] = {\n    b ={...}\n  }",
24*ab855530SJonas Devlieghere                "[2] = {\n    b ={...}\n  }",
25*ab855530SJonas Devlieghere                "[3] = {\n    b ={...}\n  }",
26*ab855530SJonas Devlieghere                "[4] = {\n    b ={...}\n  }",
27*ab855530SJonas Devlieghere            ],
28*ab855530SJonas Devlieghere        )
29