1*a37672e2SJim Ingham""" Test command for checking the Python commands can run in a stop-hook """ 2*a37672e2SJim Inghamimport lldb 3*a37672e2SJim Ingham 4*a37672e2SJim Inghamdid_run = False 5*a37672e2SJim Ingham 6*a37672e2SJim Inghamclass SomeCommand: 7*a37672e2SJim Ingham def __init__(self, debugger, unused): 8*a37672e2SJim Ingham self.dbg = debugger 9*a37672e2SJim Ingham def __call__(self, debugger, command, exe_ctx, result): 10*a37672e2SJim Ingham global did_run 11*a37672e2SJim Ingham did_run = True 12*a37672e2SJim Ingham result.PutCString("some output\n") 13*a37672e2SJim Ingham 14*a37672e2SJim Ingham def get_short_help(self): 15*a37672e2SJim Ingham return "Test command - sets a variable." 16*a37672e2SJim Ingham 17*a37672e2SJim Inghamclass OtherCommand: 18*a37672e2SJim Ingham def __init__(self, debugger, unused): 19*a37672e2SJim Ingham self.dbg = debugger 20*a37672e2SJim Ingham def __call__(self, debugger, command, exe_ctx, result): 21*a37672e2SJim Ingham global did_run 22*a37672e2SJim Ingham if did_run: 23*a37672e2SJim Ingham result.SetStatus(lldb.eReturnStatusSuccessFinishNoResult) 24*a37672e2SJim Ingham else: 25*a37672e2SJim Ingham result.SetStatus(lldb.eReturnStatusFailed) 26*a37672e2SJim Ingham 27*a37672e2SJim Ingham def get_short_help(self): 28*a37672e2SJim Ingham return "Test command - sets a variable." 29*a37672e2SJim Ingham 30*a37672e2SJim Inghamdef __lldb_init_module(debugger, unused): 31*a37672e2SJim Ingham print("Adding command some-cmd and report-cmd") 32*a37672e2SJim Ingham debugger.HandleCommand("command script add -c some_cmd.SomeCommand some-cmd") 33*a37672e2SJim Ingham debugger.HandleCommand("command script add -c some_cmd.OtherCommand report-cmd") 34