From: Pedro Alves Date: Thu, 2 Feb 2012 18:07:58 +0000 (+0000) Subject: 2012-02-02 Pedro Alves X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5f8cefd757a922ae0e5846d712d27d4650a4386b;p=binutils-gdb.git 2012-02-02 Pedro Alves * gdb.base/term.exp: Rewrite. * gdb.base/term.c: New. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 048ffb5ea1e..b036df4001d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-02-02 Pedro Alves + + * gdb.base/term.exp: Rewrite. + * gdb.base/term.c: New. + 2012-02-02 Pedro Alves * gdb.base/default.exp (run "r" abbreviation, run): Add diff --git a/gdb/testsuite/gdb.base/term.c b/gdb/testsuite/gdb.base/term.c new file mode 100644 index 00000000000..91d66edf28c --- /dev/null +++ b/gdb/testsuite/gdb.base/term.c @@ -0,0 +1,21 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2012 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 . */ + +int main () +{ + return 0; +} diff --git a/gdb/testsuite/gdb.base/term.exp b/gdb/testsuite/gdb.base/term.exp index 769716077a9..68a1f1b2198 100644 --- a/gdb/testsuite/gdb.base/term.exp +++ b/gdb/testsuite/gdb.base/term.exp @@ -14,50 +14,33 @@ # 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) - # 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 +if { [prepare_for_testing term.exp term term.c] } { + return -1 } -gdb_start - -# -# test running programs -# +# Once before running the program. +gdb_test "info terminal" \ + "No saved terminal information.*" \ + "test info terminal" -if { [prepare_for_testing term.exp term run.c] } { - return -1 +if ![runto_main] then { + fail "Can't run to main" + return 0 } -gdb_test_no_output "set print sevenbit-strings" -gdb_test_no_output "set print address off" -gdb_test_no_output "set width 0" - -gdb_test "info terminal" "No saved terminal information.*" "test info terminal" -gdb_run_cmd 5 -gdb_expect { - -re ".*120.*$inferior_exited_re 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" - } -} +# Once while the program is running and stopped. +gdb_test "info terminal" \ + "Inferior's terminal status .currently saved by GDB.:.*" \ + "info terminal at breakpoint" -# 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" } -} +gdb_continue_to_end + +# One last time after the program having exited. +gdb_test "info terminal" \ + "No saved terminal information.*" \ + "test info terminal #2"