1#   Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1999, 2007,
2#   2008, 2009, 2010, 2011 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
19if $tracelevel then {
20    strace $tracelevel
21}
22
23# Don't try this for remote targets.
24if [is_remote target] then {
25    continue
26}
27
28if [target_info exists noargs] then {
29    verbose "Skipping term.exp because of noargs."
30    return
31}
32
33gdb_start
34
35#
36# test running programs
37#
38
39if { [prepare_for_testing term.exp term run.c] } {
40    return -1
41}
42
43gdb_test_no_output "set print sevenbit-strings"
44gdb_test_no_output "set print address off"
45gdb_test_no_output "set width 0"
46
47gdb_test "info terminal" "No saved terminal information.*" "test info terminal"
48gdb_run_cmd 5
49gdb_expect {
50    -re ".*120.*$inferior_exited_re normally.*$gdb_prompt $" {
51	gdb_test "info terminal" "No saved terminal information.*" "test info terminal #2"
52    }
53    default {
54	fail "term.exp, factorial didn't run to completion for info terminal"
55    }
56}
57
58# In mid-execution
59gdb_breakpoint main
60gdb_run_cmd 5
61gdb_expect {
62    -re ".*Breakpoint \[0-9\]+,.*main.*if .argc != 2.*$gdb_prompt $" {
63	gdb_test "info terminal" "Inferior's terminal status .currently saved by GDB.:.*" "info terminal at breakpoint"
64    }
65    -re ".*$gdb_prompt $"	{ fail "info terminal at breakpoint" }
66    timeout		{ fail "(timeout) info terminal at breakpoint" }
67}
68