2 Test basic std::vector functionality but with a declaration from
3 the debug info (the Foo struct) as content.
6 from lldbsuite.test.decorators import *
7 from lldbsuite.test.lldbtest import *
8 from lldbsuite.test import lldbutil
10 class TestDbgInfoContentVector(TestBase):
12 mydir = TestBase.compute_mydir(__file__)
14 @add_test_categories(["libc++"])
15 @skipIf(compiler=no_match("clang"))
19 lldbutil.run_to_source_breakpoint(self,
20 "// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
22 self.runCmd("settings set target.import-std-module true")
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[1].a", substrs=['(int) $2 = 1'])
27 self.expect("expr (int)a.back().a", substrs=['(int) $3 = 2'])
29 self.expect("expr std::reverse(a.begin(), a.end())")
30 self.expect("expr (int)a.front().a", substrs=['(int) $4 = 2'])
32 self.expect("expr (int)(a.begin()->a)", substrs=['(int) $5 = 2'])
33 self.expect("expr (int)(a.rbegin()->a)", substrs=['(int) $6 = 3'])
35 self.expect("expr a.pop_back()")
36 self.expect("expr (int)a.back().a", substrs=['(int) $7 = 1'])
37 self.expect("expr (size_t)a.size()", substrs=['(size_t) $8 = 2'])
39 self.expect("expr (int)a.at(0).a", substrs=['(int) $9 = 2'])
41 self.expect("expr a.push_back({4})")
42 self.expect("expr (int)a.back().a", substrs=['(int) $10 = 4'])
43 self.expect("expr (size_t)a.size()", substrs=['(size_t) $11 = 3'])