testsuite: Fix a `server_pid' access crash in gdb.server/server-kill.exp
authorMaciej W. Rozycki <macro@mips.com>
Tue, 15 May 2018 14:54:36 +0000 (15:54 +0100)
committerMaciej W. Rozycki <macro@mips.com>
Tue, 15 May 2018 14:54:36 +0000 (15:54 +0100)
Fix a commit f90183d7e31b ("Get GDBserver pid on remote target") bug and
correctly handle the case where the PID of `gdbserver' could not have
been retrieved.  If that happens, $server_pid is unset causing:

FAIL: gdb.server/server-kill.exp: p server_pid
ERROR: tcl error sourcing .../gdb/testsuite/gdb.server/server-kill.exp.
ERROR: can't read "server_pid": no such variable
    while executing
"if {$server_pid == "" } {
    return -1
}"
    (file ".../gdb/testsuite/gdb.server/server-kill.exp" line 49)
    invoked from within
"source .../gdb/testsuite/gdb.server/server-kill.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source .../gdb/testsuite/gdb.server/server-kill.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""

Verify that the variable exists then rather than trying to access it.

gdb/testsuite/
* gdb.server/server-kill.exp: Verify whether `server_pid' exists
rather then trying to access it in determining whether the PID
of `gdbserver' could have been retrieved.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.server/server-kill.exp

index 9fc54c0001c2042c7673cd022e42267ac699dcec..b18d4b6743e73c489ded4ac0d9b82725f3ac048a 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-15  Maciej W. Rozycki  <macro@mips.com>
+
+       * gdb.server/server-kill.exp: Verify whether `server_pid' exists
+       rather then trying to access it in determining whether the PID
+       of `gdbserver' could have been retrieved.
+
 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * gdb.arch/amd64-init-x87-values.S: New file.
index 0701d5fe40ac53df011e338be60f309a1ebce362..c110f3a50a006cf23861202bc58c5de617a4bacd 100644 (file)
@@ -46,7 +46,7 @@ gdb_test_multiple $test $test {
     }
 }
 
-if {$server_pid == "" } {
+if ![info exists server_pid] {
     return -1
 }