aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.guile
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2023-01-19 21:15:56 +0000
committerMaciej W. Rozycki <macro@embecosm.com>2023-01-19 21:15:56 +0000
commit77519ab324b0a417411ce0fd172aee0fa8349643 (patch)
tree121383c4ca5737cccead495dd1ad4dd1282e0030 /gdb/testsuite/gdb.guile
parent76b58849c5fc433f71ad7ec18f9f47f782643bc6 (diff)
downloadgdb-77519ab324b0a417411ce0fd172aee0fa8349643.zip
gdb-77519ab324b0a417411ce0fd172aee0fa8349643.tar.gz
gdb-77519ab324b0a417411ce0fd172aee0fa8349643.tar.bz2
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>
Diffstat (limited to 'gdb/testsuite/gdb.guile')
-rw-r--r--gdb/testsuite/gdb.guile/scm-parameter.exp11
1 files changed, 10 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.guile/scm-parameter.exp b/gdb/testsuite/gdb.guile/scm-parameter.exp
index 5c97f4c..9ee50d1 100644
--- a/gdb/testsuite/gdb.guile/scm-parameter.exp
+++ b/gdb/testsuite/gdb.guile/scm-parameter.exp
@@ -104,6 +104,7 @@ foreach_with_prefix param {
"listsize"
"print elements"
"max-completions"
+ "print characters"
} {
set param_range_error "integer -1 out of range"
set param_type_error \
@@ -117,7 +118,8 @@ foreach_with_prefix param {
set param_get_minus_one -1
set param_set_minus_one ""
}
- "print elements" {
+ "print elements" -
+ "print characters" {
set param_get_zero "#:unlimited"
set param_get_minus_one "#:unlimited"
set param_set_minus_one $param_range_error
@@ -152,6 +154,13 @@ foreach_with_prefix param {
gdb_test "guile (print (parameter-value \"$param\"))" \
"#:unlimited" "test value of 'unlimited'"
+
+ if {$param == "print characters"} {
+ gdb_test_no_output "set $param elements" "test set to 'elements'"
+
+ gdb_test "guile (print (parameter-value \"$param\"))" \
+ "#:elements" "test value of 'elements'"
+ }
}
foreach_with_prefix kind {