1# Copyright 2015-2020 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16# Test that execution commands in a GDB script file run through -x 17# work as expected. Specifically, the scripts creates a breakpoint 18# that has "continue" in its command list, and then does "run". 19 20standard_testfile 21 22if {[build_executable "failed to prepare" $testfile $srcfile debug]} { 23 return -1 24} 25 26set x_file ${srcdir}/${subdir}/$testfile.gdb 27 28global GDBFLAGS 29set saved_gdbflags $GDBFLAGS 30 31# Run the test proper. 32 33proc test {} { 34 global inferior_exited_re 35 global binfile 36 global gdb_prompt 37 global saved_gdbflags GDBFLAGS 38 global x_file 39 40 gdb_exit 41 42 set GDBFLAGS "$GDBFLAGS -x $x_file $binfile" 43 44 set GDBFLAGS $saved_gdbflags 45 append GDBFLAGS " -ex \"set height unlimited\"" 46 append GDBFLAGS " -x \"$x_file\"" 47 append GDBFLAGS " --args \"$binfile\"" 48 49 set test "run to end" 50 51 gdb_exit 52 set res [gdb_spawn] 53 if { $res != 0} { 54 fail $test 55 return -1 56 } 57 58 gdb_test_multiple "" $test { 59 -re "$inferior_exited_re normally.*$gdb_prompt $" { 60 pass $test 61 } 62 -re "Don't know how to run.*$gdb_prompt $" { 63 unsupported $test 64 } 65 } 66} 67 68test 69 70set GDBFLAGS $saved_gdbflags 71