From: Tom de Vries Date: Tue, 7 Sep 2021 08:31:42 +0000 (+0200) Subject: [gdb/testsuite] Handle internal-error in gdb_unload X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d2deb81fa143e592414fd987c2899c839eb433e;p=binutils-gdb.git [gdb/testsuite] Handle internal-error in gdb_unload When reverting commit 5a20fadc841 and using gdb_unload instead of runto "bar" to trigger the internal-error in test-case gdb.dwarf2/locexpr-data-member-location.exp, we run into: ... ERROR: couldn't unload file in $gdb (timeout). ... and the test-case takes about 1 minute. Fix this by handling internal-error in gdb_unload, such that we have: ... ERROR: Couldn't unload file in $gdb (GDB internal error). ERROR: Could not resync from internal error (eof) ... within 2 seconds. Tested on x86_64-linux. --- diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index d99e8360808..ff19760bac4 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -235,6 +235,11 @@ proc gdb_unload {} { exp_continue } -re "$gdb_prompt $" {} + -re "A problem internal to GDB has been detected" { + perror "Couldn't unload file in $GDB (GDB internal error)." + gdb_internal_error_resync + return -1 + } timeout { perror "couldn't unload file in $GDB (timeout)." return -1