[gdb/testsuite] Fix gdb.server/multi-ui-errors.exp for remote target
authorTom de Vries <tdevries@suse.de>
Thu, 9 Mar 2023 09:45:03 +0000 (10:45 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 9 Mar 2023 09:45:03 +0000 (10:45 +0100)
commited32754a8c7919feffc6ddb66ff1c532e4a4d1cd
tree295f6255e8f1b5227507f3f8f886a800041c2e39
parent079f190d4cfc6aa9c934b00a9134bc0fcc172d53
[gdb/testsuite] Fix gdb.server/multi-ui-errors.exp for remote target

Test-case gdb.server/multi-ui-errors.exp fails for target board
remote-gdbserver-on-localhost with REMOTE_TARGET_USERNAME=remote-target:
...
(gdb) PASS: gdb.server/multi-ui-errors.exp: interact with GDB's main UI
Executing on target: kill -9 6447    (timeout = 300)
builtin_spawn [open ...]^M
XYZ1ZYX
sh: line 0: kill: (6447) - Operation not permitted
...

The problem is that the kill command:
...
remote_exec target "kill -9 $gdbserver_pid"
...
intended to kill gdbserver instead tries to kill the ssh client session in
which the gdbserver runs, and fails because it's trying as the remote target
user (remote-target on localhost) to kill a pid owned by the the build user
($USER on localhost).

Fix this by getting the gdbserver pid using the ppid trick from
server-kill.exp.

Likewise in gdb.server/server-kill-python.exp.

Tested on x86_64-linux.
gdb/testsuite/gdb.server/multi-ui-errors.c
gdb/testsuite/gdb.server/multi-ui-errors.exp
gdb/testsuite/gdb.server/server-kill-python.exp