Files
binutils-gdb/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
Joel Brobecker 61baf725ec update copyright year range in GDB files
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.

gdb/ChangeLog:

        Update copyright year range in all GDB files.
2017-01-01 10:52:34 +04:00

106 lines
3.7 KiB
Plaintext

# Copyright 2012-2017 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/>.
load_lib mi-support.exp
set MIFLAGS "-i=mi"
standard_testfile basics.c
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
untested "failed to compile"
return -1
}
proc test_command_param_changed { } {
with_test_prefix "cmd param" {
if [mi_gdb_start] {
return
}
mi_run_to_main
foreach opt { "on" "off" "step" } {
mi_gdb_test "set scheduler-locking ${opt}" \
".*=cmd-param-changed,param=\"scheduler-locking\",value=\"${opt}\".*\\^done" \
"\"set scheduler-locking ${opt}\""
}
foreach opt { "on" "off" "step" } {
mi_gdb_test "interpreter-exec console \"set scheduler-locking ${opt}\"" \
".*=cmd-param-changed,param=\"scheduler-locking\",value=\"${opt}\".*\\^done" \
"interpreter-exec \"set scheduler-locking ${opt}\""
}
# Don't emit MI notification for request from MI.
mi_gdb_test "-gdb-set scheduler-locking on" \
{\^done} \
"\"set scheduler-locking on\" no event (requested by MI)"
mi_gdb_test "-exec-arguments foo" {\^done} \
"\"-exec-arguments foo\" no event"
mi_gdb_test "interpreter-exec mi \"-gdb-set scheduler-locking step\"" \
"\\&\"interpreter-exec mi .*\"-gdb-set scheduler-locking step.*\"\\\\n\"\r\n\\^done\r\n\\^done" \
"\"set scheduler-locking step\" no event (requested by MI interp)"
mi_gdb_test "set scheduler-locking step" \
"\\&\"set scheduler-locking step\\\\n\"\r\n\\^done" \
"\"set scheduler-locking stepr\" no event"
foreach command { "remotecache" "check type" } {
# The default value of each command option may be different, so we first
# set it to 'off', and this may or may not trigger MI notification.
mi_gdb_test "set ${command} off" ".*\\^done" "\"set ${command}\" warmup"
foreach boolean_opt { "on" "off" } {
mi_gdb_test "set ${command} ${boolean_opt}" \
".*=cmd-param-changed,param=\"${command}\",value=\"${boolean_opt}\".*\\^done" \
"\"set ${command} ${boolean_opt}\""
}
mi_gdb_test "set ${command} off" \
"\\&\"set ${command} off\\\\n\"\r\n\\^done" \
"\"set ${command}\" no event"
}
foreach command { "trace-notes" "remote exec-file" } {
foreach str_opt { "foo" "bar" } {
mi_gdb_test "set ${command} ${str_opt}" \
".*=cmd-param-changed,param=\"${command}\",value=\"${str_opt}\".*\\^done" \
"\"set ${command} ${str_opt}\""
}
mi_gdb_test "set ${command} bar" \
"\\&\"set ${command} bar\\\\n\"\r\n(\\&\"warning.*|)\\^done" \
"\"set ${command} bar\" no event"
}
# No notification is emitted for 'maint set' commands.
foreach boolean_opt { "on" "off" } {
mi_gdb_test "maint set dwarf always-disassemble ${boolean_opt}" \
"\\&\"maint set dwarf always-disassemble ${boolean_opt}\\\\n\"\r\n\\^done" \
"\"maint dwarf always-disassemble ${boolean_opt}\""
}
# Full command parameters are included in the notification when a
# abbreviated one is typed.
mi_gdb_test "set ch type on" \
".*=cmd-param-changed,param=\"check type\",value=\"on\".*\\^done" \
"\"set ch type on\""
mi_gdb_exit
}
}
test_command_param_changed
return 0