darling-gdb/gdb/testsuite/boards/local-remote-host-notty.exp
Yao Qi f23fcd46a7 Overwrite ${board}_file in local-remote-host
After I run test like this,

 $ make check RUNTESTFLAGS='--host_board=local-remote-host dw2-basic.exp'

gdb.dwarf2/file1.txt in source tree was removed.  In some gdb.dwarf2/*.exp,
file1.txt is copied to host and then removed at the end.  However, in
local-remote-host-notty.exp, ${board}_download doesn't copy the file but
return the absolute path of the src file.  'remote_file host delete' at
the end will remove the file in source tree.

This patch is to overwrite ${board}_file, and specially make "delete"
option do nothing.  This approach is used in gdbserver-base.exp and
remote-stdio-gdbserver.exp too.

gdb/testsuite:

2014-05-14  Yao Qi  <yao@codesourcery.com>

	* boards/local-remote-host-notty.exp (${board}_file): New
	proc.
2014-05-14 15:55:40 +08:00

54 lines
1.7 KiB
Plaintext

# Copyright 2012-2014 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This file is a dejagnu "board file" and is used to run the testsuite
# against local host, in remote host mode.
#
# To use this file:
# bash$ cd ${build_dir}/gdb
# bash$ make check RUNTESTFLAGS="--host_board=local-remote-host"
global GDB
set GDB [file join [pwd] "../gdb"]
set_board_info hostname 127.0.0.1
set_board_info username $env(USER)
# The ssh key should be correctly set up that you ssh to 127.0.0.1
# without having to type password.
set_board_info rsh_prog /usr/bin/ssh
set_board_info rcp_prog /usr/bin/scp
set_board_info file_transfer "rsh"
proc ${board}_file { dest op args } {
if { $op == "delete" } {
return 0
}
return [eval [list standard_file $dest $op] $args]
}
proc ${board}_download { board src dest } {
# If file name is a relative, convert it to absolute, otherwise file can't
# be found on host, because the current directory usually is /home/$USER.
# This also bypasses the real download to the host.
if { [file pathtype $src] == "relative" } {
return [file join [pwd] $src]
} else {
return $src
}
}