diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py b/lldb/packages/Python/lldbsuite/test/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py new file mode 100644 index 00000000000..04b2fa22f16 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py @@ -0,0 +1,47 @@ +import lldb +from lldbsuite.test.lldbtest import * +from lldbsuite.test.decorators import * +import lldbsuite.test.lldbutil as lldbutil +import os +import unittest2 + + +class TestObjCXXHideRuntimeSupportValues(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + 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")) |