xref: /llvm-project/lldb/test/Shell/Commands/CommandScriptImmediateOutput/Inputs/custom_command.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
187aa9c9eSJonas Devlieghereimport sys
287aa9c9eSJonas Devlieghere
387aa9c9eSJonas Devlieghere
487aa9c9eSJonas Devliegheredef split(command):
587aa9c9eSJonas Devlieghere    command = command.strip()
6*2238dcc3SJonas Devlieghere    return command.rsplit(" ", 1)
7*2238dcc3SJonas Devlieghere
887aa9c9eSJonas Devlieghere
987aa9c9eSJonas Devliegheredef command_function(debugger, command, exe_ctx, result, internal_dict):
1087aa9c9eSJonas Devlieghere    result.SetImmediateOutputFile(sys.__stdout__)
11*2238dcc3SJonas Devlieghere    print("this is a test string, just a test string", file=result)
1287aa9c9eSJonas Devlieghere
1387aa9c9eSJonas Devlieghere
1487aa9c9eSJonas Devliegheredef write_file(debugger, command, exe_ctx, result, internal_dict):
1587aa9c9eSJonas Devlieghere    args = split(command)
1687aa9c9eSJonas Devlieghere    path = args[0]
1787aa9c9eSJonas Devlieghere    mode = args[1]
1887aa9c9eSJonas Devlieghere    with open(path, mode) as f:
1987aa9c9eSJonas Devlieghere        result.SetImmediateOutputFile(f)
20*2238dcc3SJonas Devlieghere        if not mode in ["r"]:
21*2238dcc3SJonas Devlieghere            print("writing to file with mode: " + mode, file=result)
22