diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/reread.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/reread.exp | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/gdb/testsuite/gdb.base/reread.exp b/gdb/testsuite/gdb.base/reread.exp deleted file mode 100644 index f0650c4c014..00000000000 --- a/gdb/testsuite/gdb.base/reread.exp +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright 1998, 2000, 2001 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 2 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set prototypes 1 - -# build the first test case - -set testfile1 "reread1" -set srcfile1 ${testfile1}.c -# Cygwin needs $EXEEXT. -set binfile1 ${objdir}/${subdir}/${testfile1}$EXEEXT - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${binfile1}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# build the second test case - -set testfile2 "reread2" -set srcfile2 ${testfile2}.c -set binfile2 ${objdir}/${subdir}/${testfile2}$EXEEXT - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable {debug additional_flags=-w}] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# Start with a fresh gdb. - -set testfile "reread" -set binfile ${objdir}/${subdir}/${testfile}$EXEEXT - -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -set prms_id 13484 -set bug_id 0 - -# Load the first executable. - -gdb_test "shell mv ${binfile1} ${binfile}" "" "" -gdb_load ${binfile} - -# Set a breakpoint at foo - -gdb_test "break foo" \ - "Breakpoint.*at.* file .*$srcfile1, line 14.*" \ - "breakpoint foo in first file" - - -# Run, should see "Breakpoint 1, foo () at hello1.c:14" - -gdb_run_cmd - -gdb_expect { - -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $" { - pass "run to foo()"; - } - -re ".*$gdb_prompt $" { - fail "run to foo()"; - gdb_suppress_tests; - } - timeout { fail "run to foo() (timeout)" ; gdb_suppress_tests } -} - -# Restore first executable to its original name, and move -# second executable into its place. Ensure that the new -# executable is at least a second newer than the old. - -gdb_test "shell mv ${binfile} ${binfile1}" "" "" -gdb_test "shell mv ${binfile2} ${binfile}" "" "" -gdb_test "shell sleep 1" "" "" -gdb_test "shell touch ${binfile}" "" "" - -# Run a second time; GDB should detect that the executable has changed -# and reset the breakpoints correctly. -# Should see "Breakpoint 1, foo () at reread2.c:9" - -set prms_id 0 - -if ![isnative] { - unsupported "run to foo() second time "; -} else { - gdb_run_cmd - gdb_expect { - # -re ".*re-reading symbols.*Breakpoint.* foo .* at .*$srcfile2:9.*$gdb_prompt $" {} - -re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" { - pass "run to foo() second time "; - } - -re ".*$gdb_prompt $" { - fail "run to foo() second time"; - gdb_suppress_tests; - } - timeout { - fail "run to foo() second time (timeout)" ; - gdb_suppress_tests - } - } -} - - -### Second pass: verify that GDB checks the executable file's -### timestamp when the program is *restarted*, not just when it exits. - -if ![isnative] { - unsupported "second pass: GDB should check for changes before running" -} else { - - # Put the older executable back in place. - gdb_test "shell mv ${binfile} ${binfile2}" "" "" - gdb_test "shell mv ${binfile1} ${binfile}" "" "" - - # Restart GDB entirely. - gdb_start - gdb_reinitialize_dir $srcdir/$subdir - gdb_load ${binfile} - - # Set a breakpoint on foo and run to it. - gdb_test "break foo" \ - "Breakpoint.*at.* file .*$srcfile1, line 14.*" \ - "second pass: breakpoint foo in first file" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint.* foo .* at .*$srcfile1:14.*$gdb_prompt $" { - pass "second pass: run to foo()"; - } - -re ".*$gdb_prompt $" { - fail "second pass: run to foo()"; - gdb_suppress_tests; - } - timeout { - fail "second pass: run to foo() (timeout)" - gdb_suppress_tests - } - } - - # This time, let the program run to completion. If GDB checks the - # executable file's timestamp now, it won't notice any change. - gdb_test "continue" ".*Program exited.*" \ - "second pass: continue to completion" - - # Now move the newer executable into place, and re-run. GDB - # should still notice that the executable file has changed, - # and still re-set the breakpoint appropriately. - gdb_test "shell mv ${binfile} ${binfile1}" "" "" - gdb_test "shell mv ${binfile2} ${binfile}" "" "" - gdb_run_cmd - gdb_expect { - -re ".*Breakpoint.* foo .* at .*:9.*$gdb_prompt $" { - pass "second pass: run to foo() second time "; - } - -re ".*$gdb_prompt $" { - fail "second pass: run to foo() second time"; - gdb_suppress_tests; - } - timeout { - fail "second pass: run to foo() second time (timeout)" ; - gdb_suppress_tests - } - } -} - -# End of tests. - -gdb_stop_suppressing_tests - -return 0 |