1*99451b44SJordan Rupprecht""" 2*99451b44SJordan RupprechtMake sure that ivars of Objective-C++ classes are visible in LLDB. 3*99451b44SJordan Rupprecht""" 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprecht 6*99451b44SJordan Rupprecht 7*99451b44SJordan Rupprechtimport lldb 8*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 9*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 10*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 11*99451b44SJordan Rupprecht 12*99451b44SJordan Rupprecht 13*99451b44SJordan Rupprechtclass ObjCXXTestCase(TestBase): 14*99451b44SJordan Rupprecht 15*99451b44SJordan Rupprecht def test_break(self): 16*99451b44SJordan Rupprecht """Test ivars of Objective-C++ classes""" 17*99451b44SJordan Rupprecht if self.getArchitecture() == 'i386': 18*99451b44SJordan Rupprecht self.skipTest("requires Objective-C 2.0 runtime") 19*99451b44SJordan Rupprecht 20*99451b44SJordan Rupprecht self.build() 21*99451b44SJordan Rupprecht exe = self.getBuildArtifact("a.out") 22*99451b44SJordan Rupprecht self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) 23*99451b44SJordan Rupprecht 24*99451b44SJordan Rupprecht lldbutil.run_break_set_by_source_regexp( 25*99451b44SJordan Rupprecht self, 'breakpoint 1', num_expected_locations=1) 26*99451b44SJordan Rupprecht 27*99451b44SJordan Rupprecht self.runCmd("run", RUN_SUCCEEDED) 28*99451b44SJordan Rupprecht 29*99451b44SJordan Rupprecht self.expect("expr f->f", "Found ivar in class", 30*99451b44SJordan Rupprecht substrs=["= 3"]) 31