Files
clang-p2996/lldb/test/API/api/multithreaded/some_cmd.py
Jim Ingham a37672e2db Mark the execution of stop-hooks as non-interactive.
The intention is not to allow stop-hook commands to query the
user, so this is correct.  It also works around a deadlock in
switching to the Python Session to execute python based commands
in the stop hook when the Debugger stdin is backed by a FILE *.

Differential Revision: https://reviews.llvm.org/D90332
2020-10-29 14:41:53 -07:00

34 lines
1.1 KiB
Python

""" Test command for checking the Python commands can run in a stop-hook """
import lldb
did_run = False
class SomeCommand:
def __init__(self, debugger, unused):
self.dbg = debugger
def __call__(self, debugger, command, exe_ctx, result):
global did_run
did_run = True
result.PutCString("some output\n")
def get_short_help(self):
return "Test command - sets a variable."
class OtherCommand:
def __init__(self, debugger, unused):
self.dbg = debugger
def __call__(self, debugger, command, exe_ctx, result):
global did_run
if did_run:
result.SetStatus(lldb.eReturnStatusSuccessFinishNoResult)
else:
result.SetStatus(lldb.eReturnStatusFailed)
def get_short_help(self):
return "Test command - sets a variable."
def __lldb_init_module(debugger, unused):
print("Adding command some-cmd and report-cmd")
debugger.HandleCommand("command script add -c some_cmd.SomeCommand some-cmd")
debugger.HandleCommand("command script add -c some_cmd.OtherCommand report-cmd")