aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2018-10-24 12:54:33 +0200
committerTom de Vries <tdevries@suse.de>2018-10-24 16:22:58 +0200
commitfe1a5cad302b5535030cdf62895e79512713d738 (patch)
treefb4dbb8491108457c12f9509585621da7899cd95 /gdb/testsuite
parent8c246a60c08d82066b16973bcd622e671300eb02 (diff)
downloadgdb-fe1a5cad302b5535030cdf62895e79512713d738.zip
gdb-fe1a5cad302b5535030cdf62895e79512713d738.tar.gz
gdb-fe1a5cad302b5535030cdf62895e79512713d738.tar.bz2
[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.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/gdb.exp11
2 files changed, 16 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index bfcea61..c91c0f2 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
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.
2018-10-24 Tom de Vries <tdevries@suse.de>
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 2d197d9..b4cf80e 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -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 {