def test_SBDebugger(self): obj = lldb.SBDebugger() if self.TraceOn(): print obj self.assertFalse(obj) # Do fuzz testing on the invalid obj, it should not crash lldb. import sb_debugger sb_debugger.fuzz_obj(obj)
def fetch_events(self): event = lldb.SBEvent() done = False while not done: if self.listener.WaitForEvent(1, event): event_mask = event.GetType(); if event.BroadcasterMatchesRef(self.test_broadcaster): if event_mask & self.eBroadcastBitStopProgressThread: done = True; elif event.BroadcasterMatchesRef(self.progress_broadcaster): ret_args = lldb.SBDebugger().GetProgressFromEvent(event); self.assertGreater(len(ret_args), 1) message = ret_args[0] if message: self.progress_events.append((message, event))
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)
def fetch_events(self, test_broadcaster): listener = lldb.SBListener("lldb.progress.listener") listener.StartListeningForEvents(test_broadcaster, self.eBroadcastBitStopProgressThread) progress_broadcaster = self.dbg.GetBroadcaster() progress_broadcaster.AddListener(listener, lldb.SBDebugger.eBroadcastBitProgress) event = lldb.SBEvent() done = False while not done: if listener.WaitForEvent(1, event): event_mask = event.GetType() if event.BroadcasterMatchesRef(test_broadcaster): if event_mask & self.eBroadcastBitStopProgressThread: done = True elif event.BroadcasterMatchesRef(progress_broadcaster): message = lldb.SBDebugger().GetProgressFromEvent( event, 0, 0, 0, False) if message: self.progress_events.append((message, event))