[gdb/testsuite] Handle REMOTE_HOST_USERNAME in local-remote-host

Handle REMOTE_HOST_USERNAME in local-remote-host, similar to how that's done for
REMOTE_TARGET_USERNAME in remote-gdbserver-on-localhost.

This helps to keep the home dir clean.

Since the setup makes $build/gdb/testsuite on build unreadable for the remote
host, we run into permission problems for GDB and the data-directory, so fix
this (as was done for gdbserver in gdbserver-base.exp) using file normalize.

Tested on x86_64-linux.
This commit is contained in:
Tom de Vries
2023-03-17 19:25:18 +01:00
parent 3741934fdb
commit 2a7d1e5ebb
2 changed files with 25 additions and 4 deletions
+24 -3
View File
@@ -22,12 +22,33 @@
# Like local-remote-host-notty, but with readline/editing enabled.
global GDB
set GDB [file join [pwd] "../gdb"]
set GDB [file normalize [file join [pwd] "../gdb"]]
set_board_info hostname 127.0.0.1
set_board_info username $env(USER)
if { [info exists REMOTE_HOST_USERNAME] } {
set_board_info username $REMOTE_HOST_USERNAME
} else {
set_board_info username $env(USER)
}
# Handle separate test account.
if { [board_info $board username] != $env(USER) } {
# We're pretending that some local user account is remote host.
# Make things a bit more realistic by restricting file permissions.
# Make sure remote host can't see files on build.
remote_exec build "chmod go-rx $objdir"
# Make sure build can't see files on remote host. We can't use
# remote_exec host, because we're in the middle of parsing the
# host board.
remote_exec build \
"[board_info $board rsh_prog] \
-l [board_info $board username] \
[board_info $board hostname] \
chmod go-rx ."
}
# The ssh key should be correctly set up that you ssh to 127.0.0.1
# without having to type password.
+1 -1
View File
@@ -176,7 +176,7 @@ verbose "using GDB = $GDB" 2
# we're testing a non-installed GDB in the build directory. Users may
# also explictly override the -data-directory from the command line.
if ![info exists GDB_DATA_DIRECTORY] {
set GDB_DATA_DIRECTORY "[pwd]/../data-directory"
set GDB_DATA_DIRECTORY [file normalize "[pwd]/../data-directory"]
}
verbose "using GDB_DATA_DIRECTORY = $GDB_DATA_DIRECTORY" 2