Since silent handling of eof is usually the wrong thing to do, this
patch makes gdb_test_multiple handle it for all $any_spawn_id.
Currently, against gdbserver, interrupt.exp occasionaly fails like
this:
FAIL: gdb.base/interrupt.exp: send end of file
gdb.log with expect debug output enabled shows:
expect: does "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n" (spawn_id exp8) match regular expression "end of file"? Gate "end of file"? gate=no
expect: read eof
expect: set expect_out(spawn_id) "exp8"
expect: set expect_out(buffer) "\r\n\r\nChild exited with status 0\r\nGDBserver exiting\r\n"
FAIL: gdb.base/interrupt.exp: send end of file
Note "expect: read eof" for spawn_id=exp8. exp8 is
inferior_spawn_id/gdbserver_spawn_id. That means
expect/gdb_test_multiple saw gdbserver exit before we got the expected
gdb output. Since there's no explicit pattern for "eof", expect (and
thus gdb_test_multiple) just returns.
After this commit, we get instead:
ERROR: Process no longer exists
UNRESOLVED: gdb.base/interrupt.exp: send end of file
Note that before we still got an FAIL because $saw_inferior_exit is 0
when we get to:
gdb_assert { $saw_eof && $saw_inferior_exit } $msg
Fixing the fail (now unresolved) will be the subject of a separate
patch.
gdb/testsuite/ChangeLog:
2015-04-23 Pedro Alves <palves@redhat.com>
* lib/gdb.exp (gdb_test_multiple): Match eof/full_buffer/timeout
on $any_spawn_id instead of only on $gdb_spawn_id.
|
||
|---|---|---|
| .. | ||
| ada.exp | ||
| append_gdb_boards_dir.exp | ||
| cache.exp | ||
| cell.exp | ||
| cl_util.c | ||
| cl_util.h | ||
| compiler.c | ||
| compiler.cc | ||
| cp-support.exp | ||
| d-support.exp | ||
| dtrace.exp | ||
| dwarf.exp | ||
| fortran.exp | ||
| future.exp | ||
| gdb-guile.exp | ||
| gdb-python.exp | ||
| gdb-utils.exp | ||
| gdb.exp | ||
| gdbserver-support.exp | ||
| go.exp | ||
| java.exp | ||
| mi-support.exp | ||
| objc.exp | ||
| opencl_hostapp.c | ||
| opencl_kernel.cl | ||
| opencl.exp | ||
| pascal.exp | ||
| pdtrace.in | ||
| perftest.exp | ||
| prelink-support.exp | ||
| prompt.exp | ||
| range-stepping-support.exp | ||
| read1.c | ||
| selftest-support.exp | ||
| set_unbuffered_mode.c | ||
| trace-support.exp | ||
| unbuffer_output.c | ||