# Copyright 2015-2018 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 . */ # Test that GDB isn't silent if it fails to remove a breakpoint from # the main program, independently of whether the program was loaded # with "file PROGRAM" or directly from the command line with "gdb # PROGRAM". # Test that execution commands in a GDB script file run through -x # work as expected. Specifically, the scripts creates a breakpoint # that has "continue" in its command list, and then does "run". standard_testfile if {[build_executable "failed to prepare" $testfile $srcfile debug]} { return -1 } set x_file ${srcdir}/${subdir}/$testfile.gdb global GDBFLAGS set saved_gdbflags $GDBFLAGS # Run the test proper. proc test {} { global inferior_exited_re global binfile global gdb_prompt global saved_gdbflags GDBFLAGS global x_file gdb_exit set GDBFLAGS "$GDBFLAGS -x $x_file $binfile" set GDBFLAGS $saved_gdbflags append GDBFLAGS " -ex \"set height unlimited\"" append GDBFLAGS " -x \"$x_file\"" append GDBFLAGS " --args \"$binfile\"" set test "run to end" gdb_exit set res [gdb_spawn] if { $res != 0} { fail $test return -1 } gdb_test_multiple "" $test { -re "$inferior_exited_re normally.*$gdb_prompt $" { pass $test } -re "Don't know how to run.*$gdb_prompt $" { unsupported $test } } } test set GDBFLAGS $saved_gdbflags