# 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"