| """ | |
| Test Debugger APIs. | |
| """ | |
| import lldb | |
| from lldbsuite.test.decorators import * | |
| from lldbsuite.test.lldbtest import * | |
| from lldbsuite.test import lldbutil | |
| class DebuggerAPITestCase(TestBase): | |
| mydir = TestBase.compute_mydir(__file__) | |
| @add_test_categories(['pyapi']) | |
| @no_debug_info_test | |
| def test_debugger_api_boundary_condition(self): | |
| """Exercise SBDebugger APIs with boundary conditions.""" | |
| self.dbg.HandleCommand(None) | |
| self.dbg.SetDefaultArchitecture(None) | |
| self.dbg.GetScriptingLanguage(None) | |
| self.dbg.CreateTarget(None) | |
| self.dbg.CreateTarget(None, None, None, True, lldb.SBError()) | |
| self.dbg.CreateTargetWithFileAndTargetTriple(None, None) | |
| self.dbg.CreateTargetWithFileAndArch(None, None) | |
| self.dbg.FindTargetWithFileAndArch(None, None) | |
| self.dbg.SetInternalVariable(None, None, None) | |
| self.dbg.GetInternalVariableValue(None, None) | |
| # FIXME (filcab): We must first allow for the swig bindings to know if | |
| # a Python callback is set. (Check python-typemaps.swig) | |
| # self.dbg.SetLoggingCallback(None) | |
| self.dbg.SetPrompt(None) | |
| self.dbg.SetCurrentPlatform(None) | |
| self.dbg.SetCurrentPlatformSDKRoot(None) | |
| fresh_dbg = lldb.SBDebugger() | |
| self.assertEquals(len(fresh_dbg), 0) | |
| @add_test_categories(['pyapi']) | |
| def test_debugger_delete_invalid_target(self): | |
| """SBDebugger.DeleteTarget() should not crash LLDB given and invalid target.""" | |
| target = lldb.SBTarget() | |
| self.assertFalse(target.IsValid()) | |
| self.dbg.DeleteTarget(target) |