1""" 2Test basic std::shared_ptr functionality. 3""" 4 5from lldbsuite.test.decorators import * 6from lldbsuite.test.lldbtest import * 7from lldbsuite.test import lldbutil 8 9class TestSharedPtr(TestBase): 10 11 mydir = TestBase.compute_mydir(__file__) 12 13 @add_test_categories(["libc++"]) 14 @skipIf(compiler=no_match("clang")) 15 def test(self): 16 self.build() 17 18 lldbutil.run_to_source_breakpoint(self, 19 "// Set break point at this line.", lldb.SBFileSpec("main.cpp")) 20 21 self.runCmd("settings set target.import-std-module true") 22 23 self.expect("expr (int)*s", substrs=['(int) $0 = 3']) 24 self.expect("expr (int)(*s = 5)", substrs=['(int) $1 = 5']) 25 self.expect("expr (int)*s", substrs=['(int) $2 = 5']) 26 self.expect("expr (bool)s", substrs=['(bool) $3 = true']) 27 self.expect("expr s.reset()") 28 self.expect("expr (bool)s", substrs=['(bool) $4 = false']) 29 30