2011-12-19 22:51:27 +00:00
|
|
|
"""
|
|
|
|
Test Debugger APIs.
|
|
|
|
"""
|
|
|
|
|
2012-08-25 00:29:07 +00:00
|
|
|
import lldb
|
2016-02-04 23:04:17 +00:00
|
|
|
|
|
|
|
from lldbsuite.test.decorators import *
|
2015-11-03 02:06:18 +00:00
|
|
|
from lldbsuite.test.lldbtest import *
|
2016-02-04 23:04:17 +00:00
|
|
|
from lldbsuite.test import lldbutil
|
2012-08-25 00:29:07 +00:00
|
|
|
|
2011-12-19 22:51:27 +00:00
|
|
|
|
|
|
|
class DebuggerAPITestCase(TestBase):
|
|
|
|
|
2013-12-10 23:19:29 +00:00
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
2020-01-13 10:00:06 +01:00
|
|
|
NO_DEBUG_INFO_TESTCASE = True
|
2011-12-19 22:51:27 +00:00
|
|
|
|
2015-10-26 09:28:32 +00:00
|
|
|
@add_test_categories(['pyapi'])
|
2011-12-19 22:51:27 +00:00
|
|
|
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)
|
2012-08-25 00:29:07 +00:00
|
|
|
# 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)
|
2011-12-19 22:51:27 +00:00
|
|
|
self.dbg.SetPrompt(None)
|
|
|
|
self.dbg.SetCurrentPlatform(None)
|
|
|
|
self.dbg.SetCurrentPlatformSDKRoot(None)
|
2019-04-03 11:48:38 +00:00
|
|
|
|
|
|
|
fresh_dbg = lldb.SBDebugger()
|
|
|
|
self.assertEquals(len(fresh_dbg), 0)
|
2011-12-23 00:53:45 +00:00
|
|
|
|
2015-10-26 09:28:32 +00:00
|
|
|
@add_test_categories(['pyapi'])
|
2011-12-23 00:53:45 +00:00
|
|
|
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)
|