aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-netbsd-nat.c
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-10-27 16:53:12 +0200
committerTom de Vries <tdevries@suse.de>2022-10-27 16:53:12 +0200
commit6b839dd3deea4de278ebd862edb9c91d335d63e2 (patch)
treebf4b0b767bc9b9b62faad46fbb58e078b2bf2c92 /gdb/sh-netbsd-nat.c
parentb253899c901fed0ff56b2746945ffc824e412b81 (diff)
downloadgdb-6b839dd3deea4de278ebd862edb9c91d335d63e2.zip
gdb-6b839dd3deea4de278ebd862edb9c91d335d63e2.tar.gz
gdb-6b839dd3deea4de278ebd862edb9c91d335d63e2.tar.bz2
[gdb/testsuite] Fix silent timeouts in gdb.mi/mi-exec-run.exp with remote host
I noticed that running test-case gdb.mi/mi-exec-run.exp with host board local-remote-host.exp takes about 44 seconds. I found two silent timeouts responsible for this. The first is in mi_gdb_exit, where we have: ... if { [is_remote host] && [board_info host exists fileid] } { send_gdb "999-gdb-exit\n" gdb_expect 10 { -re "y or n" { send_gdb "y\n" exp_continue } -re "Undefined command.*$gdb_prompt $" { send_gdb "quit\n" exp_continue } -re "DOSEXIT code" { } } } ... so in gdb.log we see: ... 999-gdb-exit^M 999^exit^M =thread-exited,id="1",group-id="i1"^M =thread-group-exited,id="i1"^M ... after which expect just waits for the timeout. Fix this by adding a gdb_expect clause to parse the exit: ... -re "\r\n999\\^exit\r\n" { } ... Note that we're not parsing the thread-exited/thread-group-exited messages, because they may not be present: ... $ gdb -i=mi =thread-group-added,id="i1" (gdb) 999-gdb-exit 999^exit $ ... After fixing that, we have: ... (gdb) ^M saw mi error PASS: gdb.mi/mi-exec-run.exp: inferior-tty=separate: mi=separate: \ force-fail=1: run failure detected quit^M &"quit\n"^M ... What seems to be happening is that default_gdb_exit sends a cli interpreter quit command to an mi interpreter, after which again expect just waits for the timeout. Fix this by adding mi_gdb_exit to the end of the test-case, as in many other gdb.mi/*.exp test-cases. After these two fixes, the test-case takes about 4 seconds. Tested on x86_64-linux.
Diffstat (limited to 'gdb/sh-netbsd-nat.c')
0 files changed, 0 insertions, 0 deletions