199451b44SJordan Rupprechtimport lldb 299451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 399451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 499451b44SJordan Rupprechtimport lldbsuite.test.lldbutil as lldbutil 599451b44SJordan Rupprecht 699451b44SJordan Rupprecht 799451b44SJordan Rupprechtclass TestObjCXXHideRuntimeSupportValues(TestBase): 899451b44SJordan Rupprecht def test_hide_runtime_support_values(self): 999451b44SJordan Rupprecht self.build() 1099451b44SJordan Rupprecht _, process, _, _ = lldbutil.run_to_source_breakpoint( 11*2238dcc3SJonas Devlieghere self, "break here", lldb.SBFileSpec("main.mm") 12*2238dcc3SJonas Devlieghere ) 1399451b44SJordan Rupprecht 1499451b44SJordan Rupprecht var_opts = lldb.SBVariablesOptions() 1599451b44SJordan Rupprecht var_opts.SetIncludeArguments(True) 1699451b44SJordan Rupprecht var_opts.SetIncludeLocals(True) 1799451b44SJordan Rupprecht var_opts.SetInScopeOnly(True) 1899451b44SJordan Rupprecht var_opts.SetIncludeStatics(False) 1999451b44SJordan Rupprecht var_opts.SetIncludeRuntimeSupportValues(False) 2099451b44SJordan Rupprecht var_opts.SetUseDynamic(lldb.eDynamicCanRunTarget) 2199451b44SJordan Rupprecht values = self.frame().GetVariables(var_opts) 2299451b44SJordan Rupprecht 2399451b44SJordan Rupprecht def shows_var(name): 2499451b44SJordan Rupprecht for value in values: 2599451b44SJordan Rupprecht if value.name == name: 2699451b44SJordan Rupprecht return True 2799451b44SJordan Rupprecht return False 28*2238dcc3SJonas Devlieghere 2999451b44SJordan Rupprecht # ObjC method. 3099451b44SJordan Rupprecht values = self.frame().GetVariables(var_opts) 3199451b44SJordan Rupprecht self.assertFalse(shows_var("this")) 3299451b44SJordan Rupprecht self.assertTrue(shows_var("self")) 3399451b44SJordan Rupprecht self.assertTrue(shows_var("_cmd")) 3499451b44SJordan Rupprecht self.assertTrue(shows_var("c")) 3599451b44SJordan Rupprecht 3699451b44SJordan Rupprecht process.Continue() 3799451b44SJordan Rupprecht # C++ method. 3899451b44SJordan Rupprecht values = self.frame().GetVariables(var_opts) 3999451b44SJordan Rupprecht self.assertTrue(shows_var("this")) 4099451b44SJordan Rupprecht self.assertFalse(shows_var("self")) 4199451b44SJordan Rupprecht self.assertFalse(shows_var("_cmd")) 42