1# Copyright (C) 2013-2016 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 16standard_testfile 17 18if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } { 19 return -1 20} 21 22# Skip all tests if Python scripting is not enabled. 23if { [skip_python_tests] } { continue } 24 25if ![runto_main] { 26 return -1 27} 28 29set remote_python_file [gdb_remote_download host \ 30 ${srcdir}/${subdir}/${testfile}.py] 31 32gdb_test_no_output "python exec (open ('${remote_python_file}').read ())" \ 33 "python exec (open ('[file tail ${remote_python_file}]').read ())" 34 35gdb_breakpoint [gdb_get_line_number "break-here"] 36gdb_continue_to_breakpoint "break-here" ".* break-here .*" 37 38# Test all combinations with raw off. 39 40gdb_test_no_output "set print raw frame-arguments off" 41 42gdb_test_no_output "set print frame-arguments none" 43gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ 44 "frame pretty,none" 45 46gdb_test_no_output "set print frame-arguments scalars" 47gdb_test "frame" ".*foo \\(x=42, ss=super struct = {\[.\]{3}}\\).*" \ 48 "frame pretty,scalars" 49 50gdb_test_no_output "set print frame-arguments all" 51gdb_test "frame" \ 52 ".*foo \\(x=42, ss=super struct = {a = m=<1>, b = m=<2>}\\).*" \ 53 "frame pretty,all" 54 55# Test all combinations with raw on. 56 57gdb_test_no_output "set print raw frame-arguments on" 58 59gdb_test_no_output "set print frame-arguments none" 60gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ 61 "frame raw,none" 62 63gdb_test_no_output "set print frame-arguments scalars" 64gdb_test "frame" ".*foo \\(x=42, ss=\[.\]{3}\\).*" \ 65 "frame raw,scalars" 66 67gdb_test_no_output "set print frame-arguments all" 68gdb_test "frame" \ 69 ".*foo \\(x=42, ss={a = {m = 1}, b = {m = 2}}\\).*" \ 70 "frame raw,all" 71