| import lldb |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test.decorators import * |
| import lldbsuite.test.lldbutil as lldbutil |
| import unittest2 |
| |
| |
| class TestObjCXXHideRuntimeSupportValues(TestBase): |
| |
| mydir = TestBase.compute_mydir(__file__) |
| |
| 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")) |