Fix for PR gdb/1543.
[external/binutils.git] / gdb / testsuite / gdb.base / term.exp
1 #   Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1999, 2007, 2008
2 #   Free Software Foundation, Inc.
3
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # This file was written by Rob Savoye. (rob@cygnus.com)
18
19 if $tracelevel then {
20     strace $tracelevel
21 }
22
23 # Don't try this for remote targets.
24 if [is_remote target] then {
25     continue
26 }
27
28 if [target_info exists noargs] then {
29     verbose "Skipping term.exp because of noargs."
30     return
31 }
32
33 gdb_start
34
35 #
36 # test running programs
37 #
38 set prms_id 0
39 set bug_id 0
40
41 set testfile "run"
42 set srcfile ${testfile}.c
43 set binfile ${objdir}/${subdir}/${testfile}
44 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
45      untested term.exp
46      return -1
47 }
48
49 gdb_exit
50 gdb_start
51 delete_breakpoints
52 gdb_reinitialize_dir $srcdir/$subdir
53 gdb_load ${binfile}
54
55 gdb_test "set print sevenbit-strings" "" "test set print sevenbit-strings"
56 gdb_test "set print address off" "" "test set print address off"
57 gdb_test "set width 0" "" "test set width 0"
58 gdb_test "info terminal" "No saved terminal information.*" "test info terminal"
59 gdb_run_cmd 5
60 gdb_expect {
61     -re ".*120.*Program exited normally.*$gdb_prompt $" {
62         gdb_test "info terminal" "No saved terminal information.*" "test info terminal #2"
63     }
64     default {
65         fail "term.exp, factorial didn't run to completion for info terminal"
66     }
67 }
68
69 # In mid-execution
70 gdb_breakpoint main
71 gdb_run_cmd 5
72 gdb_expect {
73     -re ".*Breakpoint \[0-9\]+,.*main.*if .argc != 2.*$gdb_prompt $" {
74         gdb_test "info terminal" "Inferior's terminal status .currently saved by GDB.:.*" "info terminal at breakpoint"
75     }
76     -re ".*$gdb_prompt $"       { fail "info terminal at breakpoint" }
77     timeout             { fail "(timeout) info terminal at breakpoint" }
78 }