""" 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__) NO_DEBUG_INFO_TESTCASE = True @add_test_categories(['pyapi']) 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)