# Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1999, 2007, 2008 # 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 . # This file was written by Rob Savoye. (rob@cygnus.com) if $tracelevel then { strace $tracelevel } # Don't try this for remote targets. if [is_remote target] then { continue } if [target_info exists noargs] then { verbose "Skipping term.exp because of noargs." return } gdb_start # # test running programs # set prms_id 0 set bug_id 0 set testfile "run" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { untested term.exp return -1 } gdb_exit gdb_start delete_breakpoints gdb_reinitialize_dir $srcdir/$subdir gdb_load ${binfile} gdb_test "set print sevenbit-strings" "" "test set print sevenbit-strings" gdb_test "set print address off" "" "test set print address off" gdb_test "set width 0" "" "test set width 0" gdb_test "info terminal" "No saved terminal information.*" "test info terminal" gdb_run_cmd 5 gdb_expect { -re ".*120.*Program exited normally.*$gdb_prompt $" { gdb_test "info terminal" "No saved terminal information.*" "test info terminal #2" } default { fail "term.exp, factorial didn't run to completion for info terminal" } } # In mid-execution gdb_breakpoint main gdb_run_cmd 5 gdb_expect { -re ".*Breakpoint \[0-9\]+,.*main.*if .argc != 2.*$gdb_prompt $" { gdb_test "info terminal" "Inferior's terminal status .currently saved by GDB.:.*" "info terminal at breakpoint" } -re ".*$gdb_prompt $" { fail "info terminal at breakpoint" } timeout { fail "(timeout) info terminal at breakpoint" } }