[gdb/testsuite] Log wait status on process no longer exists error
Proc gdb_test_multiple can run into a process no longer exists error, but when that happens it shows no details about the process: ... ERROR: Process no longer exists ... Fix this by showing the wait status of the process in the log: ... ERROR: GDB process no longer exists GDB process exited with wait status 8106 exp8 0 0 CHILDKILLED SIGSEGV \ {segmentation violation} ... In order to run the wait commmand we need an explicit pid, so we can't use any_spawn_id, and duplicate the "-i any_spawn_id eof" pattern for gdb_spawn_id, and add the wait status logging there. Build and tested on x86_64-linux. 2018-10-24 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (gdb_test_multiple): Log wait status on process no longer exists error.
This commit is contained in:
parent
8c246a60c0
commit
fe1a5cad30
|
@ -1,3 +1,8 @@
|
|||
2018-10-24 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lib/gdb.exp (gdb_test_multiple): Log wait status on process no
|
||||
longer exists error.
|
||||
|
||||
2018-10-24 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.base/catch-follow-exec.exp: Rewrite using gdb_test.
|
||||
|
|
|
@ -980,6 +980,17 @@ proc gdb_test_multiple { command message user_code } {
|
|||
set result -1
|
||||
}
|
||||
|
||||
-i $gdb_spawn_id
|
||||
eof {
|
||||
perror "GDB process no longer exists"
|
||||
set wait_status [wait -i $gdb_spawn_id]
|
||||
verbose -log "GDB process exited with wait status $wait_status"
|
||||
if { $message != "" } {
|
||||
fail "$message"
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
# Patterns below apply to any spawn id specified.
|
||||
-i $any_spawn_id
|
||||
eof {
|
||||
|
|
Loading…
Reference in New Issue