From 5f8cefd757a922ae0e5846d712d27d4650a4386b Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 2 Feb 2012 18:07:58 +0000 Subject: [PATCH] 2012-02-02 Pedro Alves * gdb.base/term.exp: Rewrite. * gdb.base/term.c: New. --- gdb/testsuite/ChangeLog | 5 +++ gdb/testsuite/gdb.base/term.c | 21 +++++++++++++ gdb/testsuite/gdb.base/term.exp | 55 ++++++++++++--------------------- 3 files changed, 45 insertions(+), 36 deletions(-) create mode 100644 gdb/testsuite/gdb.base/term.c 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" -- 2.30.2