binutils-gdb/gdb/testsuite/gdb.base/step-line.exp
Yao Qi acbdb7f355 Don't remove files copied to host
Nowadays, if we do in-tree build and run tests sequentially, some source
files are removed, due to the following pattern:

set pi_txt [gdb_remote_download host ${srcdir}/${subdir}/pi.txt]

remote_exec host "rm -f $pi_txt"

If testing is run sequentially, file ${srcdir}/${subdir}/pi.txt is
copied to ${objdir}/${subdir}/pi.txt.  However, ${objdir} is ${srcdir}
in the in-tree build/test, so the file is coped to itself, as a nop.
As a result, the file in source is removed at the end of test.

This patch fixes this problem by not removing files copied to host in
each test.  This patch also addresses the question we've had that why
don't we keep files copied to host because they are needed to reproduce
certain fails.

gdb/testsuite:

2014-10-20  Yao Qi  <yao@codesourcery.com>

	* gdb.base/checkpoint.exp: Don't remove file copied on host.
	* gdb.base/step-line.exp: Likewise.
	* gdb.dwarf2/dw2-anonymous-func.exp: Likewise.
	* gdb.dwarf2/dw2-basic.exp: Likewise.
	* gdb.dwarf2/dw2-compressed.exp: Likewise.
	* gdb.dwarf2/dw2-filename.exp: Likewise.
	* gdb.dwarf2/dw2-intercu.exp: Likewise.
	* gdb.dwarf2/dw2-intermix.exp: Likewise.
	* gdb.dwarf2/dw2-producer.exp: Likewise.
	* gdb.dwarf2/mac-fileno.exp: Likewise.
	* gdb.python/py-frame-args.exp: Likewise.
	* gdb.python/py-framefilter.exp: Likewise.
	* gdb.python/py-mi.exp: Likewise.
	* gdb.python/py-objfile-script.exp: Likewise
	* gdb.python/py-pp-integral.exp: Likewise.
	* gdb.python/py-pp-re-notag.exp: Likewise.
	* gdb.python/py-prettyprint.exp: Likewise.
	* gdb.python/py-section-script.exp: Likewise.
	* gdb.python/py-typeprint.exp: Likewise.
	* gdb.python/py-xmethods.exp: Likewise.
	* gdb.stabs/weird.exp: Likewise.
	* gdb.xml/tdesc-regs.exp: Likewise.
2014-10-20 13:34:28 +08:00

86 lines
2.3 KiB
Plaintext

# Copyright 2001-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/>.
# use this to debug:
#
#log_user 1
# step-line.exp -- Expect script to test stepping in files with
# #line directives.
standard_testfile
set linefile ${testfile}.inp
if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
untested $testfile.exp
return -1
}
if ![runto_main] then {
fail "Can't run to main"
return 0
}
set remote_linefile [gdb_remote_download host ${srcdir}/${subdir}/${linefile}]
gdb_test "break f1" ".*Breakpoint 2 at .* file .*step-line.c.*" "break f1"
gdb_test "continue" \
"Continuing.*Breakpoint 2, f1 \\(i=4\\).*dummy \\(1, i\\);" \
"continue to f1"
gdb_test "next" \
".*i = f2 \\(i\\);.*" \
"next over dummy 1"
gdb_test "next" \
".*dummy \\(2, i\\);.*" \
"next to dummy 2"
gdb_test "next" \
".*i = f2 \\(i\\);.*" \
"next over dummy 2"
gdb_test "step" \
".*f2 \\(i=4\\).*dummy \\(4, i\\);.*" \
"step into f2"
gdb_test "next" \
".*j = i;.*" \
"next over dummy 4"
gdb_test "next" \
".*dummy \\(5, i\\);.*" \
"next to dummy 5"
gdb_test "next" \
".*dummy \\(6, j\\);.*" \
"next to dummy 6"
gdb_test "next" \
".*j = SUCC \\(j\\);.*" \
"next over dummy 6"
gdb_test "next" \
".*dummy \\(7, i\\);.*" \
"next to dummy 7"
gdb_test "next" \
".*dummy \\(8, j\\);.*" \
"next to dummy 8"
gdb_test "next" \
".*j = j - i;.*" \
"next over dummy 8"
gdb_test "next" \
".*dummy \\(9, i\\);.*" \
"next to dummy 9"
gdb_test "next" \
".*dummy \\(10, j\\);.*" \
"next to dummy 10"
gdb_test "next" \
".*RETURN \\(j\\);.*" \
"next over dummy 10"
return 0