old-cross-binutils/gdb/testsuite/gdb.linespec/macro-relative.exp
Luis Machado 3bdff46b67 Skip tests that use cd for remote hosts
Several GDB tests change directory before compiling the test program
in order to test source file names that include directories.  This
doesn't work on a remote host because default_target_compile in
DejaGnu's target.exp copies each source file with
"[remote_download host $x]" which uses "[file tail $file] to strip
off the directory of each file.  If the source directory is remote
mounted on the host, this also leaves copied files in the source
directory.

A similar skip is already used in gdb.test/fullname.exp:

    # We rely on being able to copy things around.

    if { [is_remote host] } {
	untested "setting breakpoints by full path"
	return -1
    }

This patch causes three GDB tests that use "cd" to be skipped for a
remote host.  For gdb.base/fullpath-expand.exp this eliminates two
failures and prevents the test from leaving files fullpath-expand.c
and fullpath-expand-func.c in gdb/testsuite.  For
gdb.base/realname-expand.exp it eliminates two failures.  For
gdb.linespec/macro-relative.exp it prevents file macro-relative.c
from being left in gdb/testsuite/gdb.linespec/base/two.

gdb/testsuite/

	* gdb.base/fullpath-expand.exp: Skip for a remote host.
	* gdb.base/realname-expand.exp: Likewise.
	* gdb.linespec/macro-relative.exp: Likewise.
2014-10-30 09:48:10 -02:00

58 lines
1.6 KiB
Text

# Copyright 2013-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/>.
standard_testfile
# Fission doesn't support macros yet. Bug 15954.
if [using_fission] {
unsupported "fission"
return -1
}
if [is_remote host] {
unsupported "Compiling on a remote host does not support a filename with directory."
return 0
}
set opts {debug additional_flags=-I.}
get_compiler_info
if [test_compiler_info gcc*] {
lappend opts additional_flags=-g3
}
if { [file pathtype $objdir] == "relative" } {
untested "objdir $objdir should be absolute"
return
}
set saved_pwd [pwd]
cd $srcdir/${subdir}/base/two
set err [gdb_compile "../../${srcfile}" "${binfile}" executable $opts]
cd $saved_pwd
if { $err != "" } {
untested "compilation failed"
return -1
}
clean_restart ${testfile}
# Test macros respect DW_AT_comp_dir.
# "list header_two_func" does not set exactly the one line we want.
if ![runto header_two_func] {
return -1
}
gdb_test "info macro HEADER" "\r\n#define HEADER 2"