2012-02-02 Pedro Alves <palves@redhat.com>
authorPedro Alves <palves@redhat.com>
Thu, 2 Feb 2012 18:07:58 +0000 (18:07 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 2 Feb 2012 18:07:58 +0000 (18:07 +0000)
* gdb.base/term.exp: Rewrite.
* gdb.base/term.c: New.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/term.c [new file with mode: 0644]
gdb/testsuite/gdb.base/term.exp

index 048ffb5..b036df4 100644 (file)
@@ -1,5 +1,10 @@
 2012-02-02  Pedro Alves  <palves@redhat.com>
 
+       * gdb.base/term.exp: Rewrite.
+       * gdb.base/term.c: New.
+
+2012-02-02  Pedro Alves  <palves@redhat.com>
+
        * gdb.base/default.exp (run "r" abbreviation, run): Add
        extended-remote expected output.
 
diff --git a/gdb/testsuite/gdb.base/term.c b/gdb/testsuite/gdb.base/term.c
new file mode 100644 (file)
index 0000000..91d66ed
--- /dev/null
@@ -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 <http://www.gnu.org/licenses/>.  */
+
+int main ()
+{
+  return 0;
+}
index 7697160..68a1f1b 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# 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"