| import lldb | |
| from lldbsuite.test.lldbtest import * | |
| from lldbsuite.test.decorators import * | |
| import lldbsuite.test.lldbutil as lldbutil | |
| class TestObjCXXHideRuntimeSupportValues(TestBase): | |
| def test_hide_runtime_support_values(self): | |
| self.build() | |
| _, process, _, _ = lldbutil.run_to_source_breakpoint( | |
| self, "break here", lldb.SBFileSpec("main.mm") | |
| ) | |
| var_opts = lldb.SBVariablesOptions() | |
| var_opts.SetIncludeArguments(True) | |
| var_opts.SetIncludeLocals(True) | |
| var_opts.SetInScopeOnly(True) | |
| var_opts.SetIncludeStatics(False) | |
| var_opts.SetIncludeRuntimeSupportValues(False) | |
| var_opts.SetUseDynamic(lldb.eDynamicCanRunTarget) | |
| values = self.frame().GetVariables(var_opts) | |
| def shows_var(name): | |
| for value in values: | |
| if value.name == name: | |
| return True | |
| return False | |
| # ObjC method. | |
| values = self.frame().GetVariables(var_opts) | |
| self.assertFalse(shows_var("this")) | |
| self.assertTrue(shows_var("self")) | |
| self.assertTrue(shows_var("_cmd")) | |
| self.assertTrue(shows_var("c")) | |
| process.Continue() | |
| # C++ method. | |
| values = self.frame().GetVariables(var_opts) | |
| self.assertTrue(shows_var("this")) | |
| self.assertFalse(shows_var("self")) | |
| self.assertFalse(shows_var("_cmd")) |