master
py 28 lines 721 Bytes
Raw
1 """Test attaching GDB to a running process.
2
3 SPDX-License-Identifier: GPL-2.0-or-later
4 """
5 from test_gdbstub import main, report
6
7
8 def run_test():
9 """Run through the tests one by one"""
10 try:
11 phase = gdb.parse_and_eval("phase").string()
12 except gdb.error:
13 # Assume the guest did not reach main().
14 phase = "start"
15
16 if phase == "start":
17 gdb.execute("break sigwait")
18 gdb.execute("continue")
19 phase = gdb.parse_and_eval("phase").string()
20 report(phase == "sigwait", "{} == \"sigwait\"".format(phase))
21
22 gdb.execute("signal SIGUSR1")
23
24 exitcode = int(gdb.parse_and_eval("$_exitcode"))
25 report(exitcode == 0, "{} == 0".format(exitcode))
26
27
28 main(run_test)