2 Test basic std::vector<bool> functionality.
5 from lldbsuite.test.decorators import *
6 from lldbsuite.test.lldbtest import *
7 from lldbsuite.test import lldbutil
9 class TestBoolVector(TestBase):
11 mydir = TestBase.compute_mydir(__file__)
13 # FIXME: This should work on more setups, so remove these
14 # skipIf's in the future.
15 @add_test_categories(["libc++"])
16 @skipIf(compiler=no_match("clang"))
17 @skipIf(oslist=no_match(["linux"]))
18 @skipIf(debug_info=no_match(["dwarf"]))
22 lldbutil.run_to_source_breakpoint(self,
23 "// Set break point at this line.", lldb.SBFileSpec("main.cpp"))
25 self.runCmd("settings set target.import-std-module true")
27 self.expect("expr (size_t)a.size()", substrs=['(size_t) $0 = 4'])
28 self.expect("expr (bool)a.front()", substrs=['(bool) $1 = false'])
29 self.expect("expr (bool)a[1]", substrs=['(bool) $2 = true'])
30 self.expect("expr (bool)a.back()", substrs=['(bool) $3 = true'])
32 self.expect("expr (bool)(*a.begin())", substrs=['(bool) $4 = false'])
33 self.expect("expr (bool)(*a.rbegin())", substrs=['(bool) $5 = true'])