GDB/testsuite: Expand for character string limiting options
authorAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 19 Jan 2023 21:15:56 +0000 (21:15 +0000)
committerMaciej W. Rozycki <macro@embecosm.com>
Thu, 19 Jan 2023 21:15:56 +0000 (21:15 +0000)
commit77519ab324b0a417411ce0fd172aee0fa8349643
tree121383c4ca5737cccead495dd1ad4dd1282e0030
parent76b58849c5fc433f71ad7ec18f9f47f782643bc6
GDB/testsuite: Expand for character string limiting options

Modify test cases that verify the operation of the array element limit
with character strings such that they are executed twice, once with the
`set print characters' option set to `elements' and the limit controlled
with the `set print elements' option, and then again with the limit
controlled with the `set print characters' option instead.  Similarly
with the `-elements' and `-characters' options for the `print' command.
Additionally verify that said `print' command options combined yield the
expected result.

Verify correct $_gdb_setting and $_gdb_setting_str values for the `print
characters' setting, in particular the `void' value for the `elements'
default, which has no corresponding integer value exposed.

Add Guile and Python coverage for the `print characters' GDB setting.

There are new tests for Ada and Pascal, as the string printing code for
these languages is different than the generic string printing code used
by other languages.  Modula2 also has different string printing code,
but (a) this is similar to Pascal, and (b) there are no existing modula2
tests written in Modula2, so I'm not sure how I'd even test the Modula2
string printing.

Co-Authored-By: Maciej W. Rozycki <macro@embecosm.com>
Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/testsuite/gdb.ada/str_chars.exp [new file with mode: 0644]
gdb/testsuite/gdb.ada/str_chars/foo.adb [new file with mode: 0644]
gdb/testsuite/gdb.base/printcmds.exp
gdb/testsuite/gdb.base/setshow.exp
gdb/testsuite/gdb.guile/scm-parameter.exp
gdb/testsuite/gdb.pascal/str-chars.exp [new file with mode: 0644]
gdb/testsuite/gdb.pascal/str-chars.pas [new file with mode: 0644]
gdb/testsuite/gdb.python/py-format-string.exp
gdb/testsuite/gdb.python/py-parameter.exp