aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/term.c21
-rw-r--r--gdb/testsuite/gdb.base/term.exp55
3 files changed, 45 insertions, 36 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 048ffb5..b036df4 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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
index 0000000..91d66ed
--- /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 <http://www.gnu.org/licenses/>. */
+
+int main ()
+{
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/term.exp b/gdb/testsuite/gdb.base/term.exp
index 7697160..68a1f1b 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 <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"