fa8be7cabee69eaf7769ba00f0c989657f2deea2
[openbsd] /
1 """
2 Test basic std::list functionality but with a declaration from
3 the debug info (the Foo struct) as content.
4 """
5
6 from lldbsuite.test.decorators import *
7 from lldbsuite.test.lldbtest import *
8 from lldbsuite.test import lldbutil
9
10 class TestDbgInfoContentList(TestBase):
11
12     mydir = TestBase.compute_mydir(__file__)
13
14     @add_test_categories(["libc++"])
15     @skipIf(compiler=no_match("clang"))
16     def test(self):
17         self.build()
18
19         lldbutil.run_to_source_breakpoint(self,
20             "// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
21
22         self.runCmd("settings set target.import-std-module true")
23
24         self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 3'])
25         self.expect("expr (int)a.front().a", substrs=['(int) $1 = 3'])
26         self.expect("expr (int)a.back().a", substrs=['(int) $2 = 2'])
27
28         self.expect("expr std::reverse(a.begin(), a.end())")
29         self.expect("expr (int)a.front().a", substrs=['(int) $3 = 2'])
30         self.expect("expr (int)a.back().a", substrs=['(int) $4 = 3'])
31
32         self.expect("expr (int)(a.begin()->a)", substrs=['(int) $5 = 2'])
33         self.expect("expr (int)(a.rbegin()->a)", substrs=['(int) $6 = 3'])
34