1# Copyright (C) 2013-2020 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 "failed to prepare" ${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 "source ${remote_python_file}" "load python file" 33 34gdb_breakpoint [gdb_get_line_number "break-here"] 35gdb_continue_to_breakpoint "break-here" ".* break-here .*" 36 37# Test all combinations with raw off. 38 39gdb_test_no_output "set print raw-frame-arguments off" 40 41gdb_test_no_output "set print frame-arguments none" 42gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ 43 "frame pretty,none" 44 45gdb_test_no_output "set print frame-arguments scalars" 46gdb_test "frame" ".*foo \\(x=42, ss=super struct = {\[.\]{3}}\\).*" \ 47 "frame pretty,scalars" 48 49gdb_test_no_output "set print frame-arguments all" 50gdb_test "frame" \ 51 ".*foo \\(x=42, ss=super struct = {a = m=<1>, b = m=<2>}\\).*" \ 52 "frame pretty,all" 53 54# Test all combinations with raw on. 55 56gdb_test_no_output "set print raw-frame-arguments on" 57 58gdb_test_no_output "set print frame-arguments none" 59gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ 60 "frame raw,none" 61 62gdb_test_no_output "set print frame-arguments scalars" 63gdb_test "frame" ".*foo \\(x=42, ss=\[.\]{3}\\).*" \ 64 "frame raw,scalars" 65 66gdb_test_no_output "set print frame-arguments all" 67gdb_test "frame" \ 68 ".*foo \\(x=42, ss={a = {m = 1}, b = {m = 2}}\\).*" \ 69 "frame raw,all" 70