[gdb/testsuite] Handle eof in gdb_internal_error_resync
authorTom de Vries <tdevries@suse.de>
Mon, 6 Sep 2021 15:47:08 +0000 (17:47 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 6 Sep 2021 15:47:08 +0000 (17:47 +0200)
commit69e8e0afee9afa9e328147237ce5e11b85c84012
tree4fc3f317f7c2f633f36f07d99c54a2ce9ac040f1
parentd9a2066df4a7a4d09b4db3d3ae5da40d3098d99f
[gdb/testsuite] Handle eof in gdb_internal_error_resync

Before commit 5a20fadc841 the test-case
gdb.dwarf2/locexpr-data-member-location.exp fails like this:
...
FAIL: gdb.dwarf2/locexpr-data-member-location.exp: running to bar in runto \
  (GDB internal error)
ERROR: : spawn id exp9 not open
    while executing
"expect {
-i exp9 -timeout 10
            -re "Quit this debugging session\\? \\(y or n\\) $" {
                send_gdb "n\n" answer
                incr count
            }
            -re "Create ..."
    ("uplevel" body line 1)
    invoked from within
"uplevel $body" NONE : spawn id exp9 not open
ERROR: Could not resync from internal error (timeout)
...

Fix the:
...
ERROR: : spawn id exp9 not open
...
by handling eof in gdb_internal_error_resync, such that we have instead:
...
FAIL: gdb.dwarf2/locexpr-data-member-location.exp: running to bar in runto \
  (GDB internal error)
ERROR: Could not resync from internal error (eof)
...

Tested on x86_64-linux.
gdb/testsuite/lib/gdb.exp