# Copyright 2014-2019 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/>. */ standard_testfile if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} { return -1 } # Run to main, and execute BODY in the caller's context, with PREFIX # set as test message prefix. proc test { prefix body } { with_test_prefix $prefix { if ![runto_main] { fail "can't run to main" return 0 } uplevel 1 $body } } # If GDB forgets to put the inferior's terminal settings into effect # while running any of these commands, the program will get a SIGTTOU. test "next" { gdb_test "next" "set break here.*" "termios ok" } test "infcall" { if ![target_info exists gdb,cannot_call_functions] { gdb_test "print func ()" " = 1" "termios ok" } else { unsupported "cannot call functions" } } test "continue" { set lineno [gdb_get_line_number "set break here"] gdb_test "break $lineno" gdb_test "continue" ".*set break here.*" "termios ok" } test "finish" { gdb_test "break func" "func.*" gdb_test "continue" "func .*" gdb_test "finish" " = 1" "termios ok" }