"""Test attaching GDB to a running process. SPDX-License-Identifier: GPL-2.0-or-later """ from test_gdbstub import main, report def run_test(): """Run through the tests one by one""" try: phase = gdb.parse_and_eval("phase").string() except gdb.error: # Assume the guest did not reach main(). phase = "start" if phase == "start": gdb.execute("break sigwait") gdb.execute("continue") phase = gdb.parse_and_eval("phase").string() report(phase == "sigwait", "{} == \"sigwait\"".format(phase)) gdb.execute("signal SIGUSR1") exitcode = int(gdb.parse_and_eval("$_exitcode")) report(exitcode == 0, "{} == 0".format(exitcode)) main(run_test)