1*99451b44SJordan Rupprecht""" 2*99451b44SJordan RupprechtTest Debugger APIs. 3*99451b44SJordan Rupprecht""" 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprechtimport lldb 6*99451b44SJordan Rupprecht 7*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 9*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprecht 12*99451b44SJordan Rupprechtclass DebuggerAPITestCase(TestBase): 13*99451b44SJordan Rupprecht 14*99451b44SJordan Rupprecht mydir = TestBase.compute_mydir(__file__) 15*99451b44SJordan Rupprecht NO_DEBUG_INFO_TESTCASE = True 16*99451b44SJordan Rupprecht 17*99451b44SJordan Rupprecht @add_test_categories(['pyapi']) 18*99451b44SJordan Rupprecht def test_debugger_api_boundary_condition(self): 19*99451b44SJordan Rupprecht """Exercise SBDebugger APIs with boundary conditions.""" 20*99451b44SJordan Rupprecht self.dbg.HandleCommand(None) 21*99451b44SJordan Rupprecht self.dbg.SetDefaultArchitecture(None) 22*99451b44SJordan Rupprecht self.dbg.GetScriptingLanguage(None) 23*99451b44SJordan Rupprecht self.dbg.CreateTarget(None) 24*99451b44SJordan Rupprecht self.dbg.CreateTarget(None, None, None, True, lldb.SBError()) 25*99451b44SJordan Rupprecht self.dbg.CreateTargetWithFileAndTargetTriple(None, None) 26*99451b44SJordan Rupprecht self.dbg.CreateTargetWithFileAndArch(None, None) 27*99451b44SJordan Rupprecht self.dbg.FindTargetWithFileAndArch(None, None) 28*99451b44SJordan Rupprecht self.dbg.SetInternalVariable(None, None, None) 29*99451b44SJordan Rupprecht self.dbg.GetInternalVariableValue(None, None) 30*99451b44SJordan Rupprecht # FIXME (filcab): We must first allow for the swig bindings to know if 31*99451b44SJordan Rupprecht # a Python callback is set. (Check python-typemaps.swig) 32*99451b44SJordan Rupprecht # self.dbg.SetLoggingCallback(None) 33*99451b44SJordan Rupprecht self.dbg.SetPrompt(None) 34*99451b44SJordan Rupprecht self.dbg.SetCurrentPlatform(None) 35*99451b44SJordan Rupprecht self.dbg.SetCurrentPlatformSDKRoot(None) 36*99451b44SJordan Rupprecht 37*99451b44SJordan Rupprecht fresh_dbg = lldb.SBDebugger() 38*99451b44SJordan Rupprecht self.assertEquals(len(fresh_dbg), 0) 39*99451b44SJordan Rupprecht 40*99451b44SJordan Rupprecht @add_test_categories(['pyapi']) 41*99451b44SJordan Rupprecht def test_debugger_delete_invalid_target(self): 42*99451b44SJordan Rupprecht """SBDebugger.DeleteTarget() should not crash LLDB given and invalid target.""" 43*99451b44SJordan Rupprecht target = lldb.SBTarget() 44*99451b44SJordan Rupprecht self.assertFalse(target.IsValid()) 45*99451b44SJordan Rupprecht self.dbg.DeleteTarget(target) 46