diff options
author | Doug Evans <dje@google.com> | 2013-07-17 20:35:11 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2013-07-17 20:35:11 +0000 |
commit | e7045703528f2fb0d4cadf2ddab16d1887046f35 (patch) | |
tree | 627d5ca62a8379cc2eb29a718094adb3334ccd9f /gdb/testsuite/gdb.python/py-frame-args.exp | |
parent | 453e48a5a576472ddf5b099a1c0a0e00ff1da657 (diff) | |
download | binutils-e7045703528f2fb0d4cadf2ddab16d1887046f35.zip binutils-e7045703528f2fb0d4cadf2ddab16d1887046f35.tar.gz binutils-e7045703528f2fb0d4cadf2ddab16d1887046f35.tar.bz2 |
* NEWS: Mention "set print raw frame-arguments".
* gdbcmd.h (setprintrawlist, showprintrawlist): Declare.
* stack.c (print_raw_frame_arguments): New static global.
(print_frame_arg): Set opts.raw from print_raw_frame_arguments.
(_initialize_stack): New command "set/show print raw frame-arguments".
* valprint.c (setprintrawlist, showprintrawlist): New globals.
(set_print_raw, show_print_raw): New functions.
(_initialize_valprint): New prefix command "set/show print raw".
* valprint.h (value_print_options): Improve comments.
doc/
* gdb.texinfo (Print Settings): Document "print raw frame-arguments".
testsuite/
* gdb.python/py-frame-args.c: New file.
* gdb.python/py-frame-args.py: New file.
* gdb.python/py-frame-args.exp New file.
Diffstat (limited to 'gdb/testsuite/gdb.python/py-frame-args.exp')
-rw-r--r-- | gdb/testsuite/gdb.python/py-frame-args.exp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.python/py-frame-args.exp b/gdb/testsuite/gdb.python/py-frame-args.exp new file mode 100644 index 0000000..ff082dd --- /dev/null +++ b/gdb/testsuite/gdb.python/py-frame-args.exp @@ -0,0 +1,70 @@ +# Copyright (C) 2013 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 ${testfile}.exp ${testfile} ${srcfile}] } { + return -1 +} + +# Skip all tests if Python scripting is not enabled. +if { [skip_python_tests] } { continue } + +if ![runto_main] { + return -1 +} + +set remote_python_file [remote_download host ${srcdir}/${subdir}/${testfile}.py] + +gdb_test_no_output "python exec (open ('${remote_python_file}').read ())" + +gdb_breakpoint [gdb_get_line_number "break-here"] +gdb_continue_to_breakpoint "break-here" ".* break-here .*" + +# Test all combinations with raw off. + +gdb_test_no_output "set print raw frame-arguments off" + +gdb_test_no_output "set print frame-arguments none" +gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ + "frame pretty,none" + +gdb_test_no_output "set print frame-arguments scalars" +gdb_test "frame" ".*foo \\(x=42, ss=super struct = {\[.\]{3}}\\).*" \ + "frame pretty,scalars" + +gdb_test_no_output "set print frame-arguments all" +gdb_test "frame" \ + ".*foo \\(x=42, ss=super struct = {a = m=<1>, b = m=<2>}\\).*" \ + "frame pretty,all" + +# Test all combinations with raw on. + +gdb_test_no_output "set print raw frame-arguments on" + +gdb_test_no_output "set print frame-arguments none" +gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ + "frame raw,none" + +gdb_test_no_output "set print frame-arguments scalars" +gdb_test "frame" ".*foo \\(x=42, ss=\[.\]{3}\\).*" \ + "frame raw,scalars" + +gdb_test_no_output "set print frame-arguments all" +gdb_test "frame" \ + ".*foo \\(x=42, ss={a = {m = 1}, b = {m = 2}}\\).*" \ + "frame raw,all" + +remote_file host delete ${remote_python_file} |