1# Copyright 2011 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16# Create a GDB script that we can source. The script needs to generate 17# some output, to allow us to verify that it is executed properly. 18set fd [open "zzz-gdbscript" "w"] 19puts $fd "print 1" 20puts $fd "print 2" 21close $fd 22 23# The expected output from the script... 24set script_output "\\$\[0-9\]+ = 1\[\r\n\]+\\$\[0-9\]+ = 2.*" 25 26# Start a fresh GDB. We don't need an executable for this test, so 27# nothing else to do in terms of testcase setup. 28gdb_exit 29gdb_start 30 31# Test sourcing of the script with interactive mode `auto'. 32# Verify that evaluating the script does not cause an unexpected 33# change of the interactive-mode setting. 34gdb_test_no_output "set interactive-mode auto" 35gdb_test "source zzz-gdbscript" "$script_output" \ 36 "source script with interactive-mode auto" 37gdb_test "print 3" "= 3" "sanity check with interactive-mode auto" 38gdb_test "show interactive-mode" \ 39 "Debugger's interactive mode is auto \\(currently .*\\)\\." \ 40 "show interactive-mode (auto)" 41 42# Test sourcing of the script with interactive mode `on'. 43# Verify that evaluating the script does not cause an unexpected 44# change of the interactive-mode setting. 45gdb_test_no_output "set interactive-mode on" 46gdb_test "source zzz-gdbscript" "$script_output" \ 47 "source script with interactive-mode on" 48gdb_test "print 4" "= 4" "sanity check with interactive-mode on" 49gdb_test "show interactive-mode" \ 50 "Debugger's interactive mode is on\\." \ 51 "show interactive-mode (on)" 52 53# Test sourcing of the script with interactive mode `off'. 54# Verify that evaluating the script does not cause an unexpected 55# change of the interactive-mode setting. 56gdb_test_no_output "set interactive-mode off" 57gdb_test "source zzz-gdbscript" "$script_output" \ 58 "source script with interactive-mode off" 59gdb_test "print 5" "= 5" "sanity check with interactive-mode off" 60gdb_test "show interactive-mode" \ 61 "Debugger's interactive mode is off\\." \ 62 "show interactive-mode (off)" 63 64