[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:
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user