[binutils-gdb] [gdb/testsuite] Simplify gdb.base/limited-length.exp

Tom de Vries vries@sourceware.org
Fri Jan 30 22:43:59 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8f8b1d65dcf065aa933bc15e48639302d0f2c1e8

commit 8f8b1d65dcf065aa933bc15e48639302d0f2c1e8
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Jan 30 23:43:53 2026 +0100

    [gdb/testsuite] Simplify gdb.base/limited-length.exp
    
    Simplify gdb.base/limited-length.exp in the same style as commit 8e76232294b
    ("[gdb/testsuite] Simplify gdb.ada/limited-length.exp").
    
    Tested on x86_64-linux.

Diff:
---
 gdb/testsuite/gdb.base/limited-length.exp | 250 +++++++++++++-----------------
 1 file changed, 107 insertions(+), 143 deletions(-)

diff --git a/gdb/testsuite/gdb.base/limited-length.exp b/gdb/testsuite/gdb.base/limited-length.exp
index 5e3a50c7669..8a55dd2540b 100644
--- a/gdb/testsuite/gdb.base/limited-length.exp
+++ b/gdb/testsuite/gdb.base/limited-length.exp
@@ -27,53 +27,39 @@ if {![runto_main]} {
 }
 
 with_test_prefix "with standard max-value size" {
-    gdb_test "print large_1d_array" \
-	" = \\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-		12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-		24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-		36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-		48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\
-		60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,\
-		72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\
-		84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
-		96, 97, 98, 99\\\}"
-    gdb_test -nonl "output large_1d_array" \
-	"\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-	     12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-	     24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-	     36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-	     48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\
-	     60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,\
-	     72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\
-	     84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
-	     96, 97, 98, 99\\\}"
-    gdb_test "print large_2d_array" \
-	" = \\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-		\\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-		\\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-		\\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-		\\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-		\\\{50, 51, 52, 53, 54, 55, 56, 57, 58, 59\\\},\
-		\\\{60, 61, 62, 63, 64, 65, 66, 67, 68, 69\\\},\
-		\\\{70, 71, 72, 73, 74, 75, 76, 77, 78, 79\\\},\
-		\\\{80, 81, 82, 83, 84, 85, 86, 87, 88, 89\\\},\
-		\\\{90, 91, 92, 93, 94, 95, 96, 97, 98, 99\\\}\\\}"
-    gdb_test -nonl "output large_2d_array" \
-	"\\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-	     \\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-	     \\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-	     \\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-	     \\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-	     \\\{50, 51, 52, 53, 54, 55, 56, 57, 58, 59\\\},\
-	     \\\{60, 61, 62, 63, 64, 65, 66, 67, 68, 69\\\},\
-	     \\\{70, 71, 72, 73, 74, 75, 76, 77, 78, 79\\\},\
-	     \\\{80, 81, 82, 83, 84, 85, 86, 87, 88, 89\\\},\
-	     \\\{90, 91, 92, 93, 94, 95, 96, 97, 98, 99\\\}\\\}"
+    set re \
+	[string_to_regexp \
+	     "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
+	       12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
+	       24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
+	       36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
+	       48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\
+	       60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,\
+	       72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,\
+	       84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
+	       96, 97, 98, 99}"]
+    gdb_test "print large_1d_array" " = $re"
+    gdb_test -nonl "output large_1d_array" $re
+
+    set re \
+	[string_to_regexp \
+	     "{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},\
+	       {10, 11, 12, 13, 14, 15, 16, 17, 18, 19},\
+	       {20, 21, 22, 23, 24, 25, 26, 27, 28, 29},\
+	       {30, 31, 32, 33, 34, 35, 36, 37, 38, 39},\
+	       {40, 41, 42, 43, 44, 45, 46, 47, 48, 49},\
+	       {50, 51, 52, 53, 54, 55, 56, 57, 58, 59},\
+	       {60, 61, 62, 63, 64, 65, 66, 67, 68, 69},\
+	       {70, 71, 72, 73, 74, 75, 76, 77, 78, 79},\
+	       {80, 81, 82, 83, 84, 85, 86, 87, 88, 89},\
+	       {90, 91, 92, 93, 94, 95, 96, 97, 98, 99}}"]
+    gdb_test "print large_2d_array" "= $re"
+    gdb_test -nonl "output large_2d_array" $re
 }
 
 # Set the max-value-size so we can only print 51 elements.
 set elements 51
-set int_size [get_valueof "/d" "sizeof(large_1d_array\[0\])" "*unknown*"]
+set int_size [get_valueof "/d" {sizeof(large_1d_array[0])} "*unknown*"]
 gdb_test_no_output "set max-value-size [expr {$int_size * $elements}]"
 
 with_test_prefix "with reduced max-value size" {
@@ -90,70 +76,55 @@ with_test_prefix "with reduced max-value size" {
 gdb_test_no_output "set print elements 3"
 
 with_test_prefix "with reduced print elements" {
-    gdb_test "print large_1d_array" \
-	" = \\\{0, 1, 2\\.\\.\\.\\\}"
-    gdb_test -nonl "output large_1d_array" \
-	"\\\{0, 1, 2\\.\\.\\.\\\}"
-
-    gdb_test "print \$" \
-	" = \\\{0, 1, 2\\.\\.\\.\\\}" \
+    set re [string_to_regexp "{0, 1, 2...}"]
+    gdb_test "print large_1d_array" " = $re"
+    gdb_test -nonl "output large_1d_array" $re
+    gdb_test {print $} " = $re" \
 	"print large_1d_array from history"
-    gdb_test -nonl "output \$\$" \
-	"\\\{0, 1, 2\\.\\.\\.\\\}" \
+    gdb_test -nonl {output $$} $re \
 	"output large_1d_array from history"
 
-    gdb_test "print large_2d_array" \
-	" = \\\{\\\{0, 1, 2\\.\\.\\.\\\}, \\\{10, 11, 12\\.\\.\\.\\\},\
-	    \\\{20, 21, 22\\.\\.\\.\\\}\\.\\.\\.\\\}"
-    gdb_test -nonl "output large_2d_array" \
-	"\\\{\\\{0, 1, 2\\.\\.\\.\\\}, \\\{10, 11, 12\\.\\.\\.\\\},\
-	 \\\{20, 21, 22\\.\\.\\.\\\}\\.\\.\\.\\\}"
-
-    gdb_test "print \$" \
-	" = \\\{\\\{0, 1, 2\\.\\.\\.\\\}, \\\{10, 11, 12\\.\\.\\.\\\},\
-	    \\\{20, 21, 22\\.\\.\\.\\\}\\.\\.\\.\\\}" \
+    set re \
+	[string_to_regexp "{{0, 1, 2...}, {10, 11, 12...}, {20, 21, 22...}...}"]
+    gdb_test "print large_2d_array" " = $re"
+    gdb_test -nonl "output large_2d_array" $re
+    gdb_test {print $} " = $re" \
 	"print large_2d_array from history"
-    gdb_test -nonl "output \$\$" \
-	"\\\{\\\{0, 1, 2\\.\\.\\.\\\}, \\\{10, 11, 12\\.\\.\\.\\\},\
-	 \\\{20, 21, 22\\.\\.\\.\\\}\\.\\.\\.\\\}" \
+    gdb_test -nonl {output $$} $re \
 	"output large_2d_array from history"
 }
 
 gdb_test_no_output "set print elements $elements"
 
 with_test_prefix "with print elements matching max-value size" {
-    gdb_test "print \$\$2" \
-	" = \\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-		12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-		24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-		36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-		48, 49, 50\\.\\.\\.\\\}" \
+    set re \
+	[string_to_regexp \
+	     "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
+	       12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
+	       24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
+	       36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
+	       48, 49, 50...}"]
+    gdb_test {print $$2} " = $re" \
 	"print large_1d_array from history"
-    gdb_test -nonl "output \$\$3" \
-	"\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-	     12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-	     24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-	     36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-	     48, 49, 50\\.\\.\\.\\\}" \
+    gdb_test -nonl {output $$3} $re \
 	"output large_1d_array from history"
 
-    gdb_test "print \$\$2" \
-	" = \\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-		\\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-		\\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-		\\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-		\\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-		\\\{50(?:, <unavailable>)\{9\}\\\}(?:,\
-		\\\{<unavailable>(?:, <unavailable>)\{9\}\\\})\{4\}\\\}" \
+    set u "<unavailable>"
+    set re \
+	[string_to_regexp \
+	     "{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},\
+	       {10, 11, 12, 13, 14, 15, 16, 17, 18, 19},\
+	       {20, 21, 22, 23, 24, 25, 26, 27, 28, 29},\
+	       {30, 31, 32, 33, 34, 35, 36, 37, 38, 39},\
+	       {40, 41, 42, 43, 44, 45, 46, 47, 48, 49},\
+	       {50, $u, $u, $u, $u, $u, $u, $u, $u, $u},\
+	       {$u, $u, $u, $u, $u, $u, $u, $u, $u, $u},\
+	       {$u, $u, $u, $u, $u, $u, $u, $u, $u, $u},\
+	       {$u, $u, $u, $u, $u, $u, $u, $u, $u, $u},\
+	       {$u, $u, $u, $u, $u, $u, $u, $u, $u, $u}}"]
+    gdb_test {print $$2} " = $re" \
 	"print large_2d_array from history"
-    gdb_test -nonl "output \$\$3" \
-	"\\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-	     \\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-	     \\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-	     \\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-	     \\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-	     \\\{50(?:, <unavailable>)\{9\}\\\}(?:,\
-	     \\\{<unavailable>(?:, <unavailable>)\{9\}\\\})\{4\}\\\}" \
+    gdb_test -nonl {output $$3} $re \
 	"output large_2d_array from history"
 }
 
@@ -162,81 +133,72 @@ gdb_test_no_output "set print elements unlimited"
 gdb_test_no_output "set print repeats 3"
 
 with_test_prefix "with unlimited print elements" {
-    gdb_test "print \$\$" \
-	" = \\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-		12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-		24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-		36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-		48, 49, 50, <unavailable> <repeats 49 times>\\\}" \
+    set re \
+	[string_to_regexp \
+	     "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
+	       12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
+	       24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
+	       36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
+	       48, 49, 50, <unavailable> <repeats 49 times>}"]
+    gdb_test {print $$} " = $re" \
 	"print large_1d_array from history"
-    gdb_test -nonl "output \$\$2" \
-	"\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\
-	     12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,\
-	     24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\
-	     36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
-	     48, 49, 50, <unavailable> <repeats 49 times>\\\}" \
+    gdb_test -nonl {output $$2} $re \
 	"output large_1d_array from history"
 
-    gdb_test "print \$\$" \
-	" = \\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-		\\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-		\\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-		\\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-		\\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-		\\\{50, <unavailable> <repeats 9 times>\\\},\
-		\\\{<unavailable> <repeats 10 times>\\\}\
-		<repeats 4 times>\\\}" \
+    set re \
+	[string_to_regexp \
+	     "{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},\
+	       {10, 11, 12, 13, 14, 15, 16, 17, 18, 19},\
+	       {20, 21, 22, 23, 24, 25, 26, 27, 28, 29},\
+	       {30, 31, 32, 33, 34, 35, 36, 37, 38, 39},\
+	       {40, 41, 42, 43, 44, 45, 46, 47, 48, 49},\
+	       {50, <unavailable> <repeats 9 times>},\
+	       {<unavailable> <repeats 10 times>}\
+	       <repeats 4 times>}"]
+    gdb_test {print $$} " = $re" \
 	"print large_2d_array from history"
-    gdb_test -nonl "output \$\$2" \
-	"\\\{\\\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\\\},\
-	     \\\{10, 11, 12, 13, 14, 15, 16, 17, 18, 19\\\},\
-	     \\\{20, 21, 22, 23, 24, 25, 26, 27, 28, 29\\\},\
-	     \\\{30, 31, 32, 33, 34, 35, 36, 37, 38, 39\\\},\
-	     \\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\},\
-	     \\\{50, <unavailable> <repeats 9 times>\\\},\
-	     \\\{<unavailable> <repeats 10 times>\\\}\
-	     <repeats 4 times>\\\}" \
+    gdb_test -nonl {output $$2} $re \
 	"output large_2d_array from history"
 
-    gdb_test "print \$\[4\]" \
-	" = \\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\}" \
+    set re \
+	[string_to_regexp "{40, 41, 42, 43, 44, 45, 46, 47, 48, 49}"]
+    gdb_test {print $[4]} " = $re" \
 	"print available large_2d_array row from history"
-    gdb_test -nonl "output \$\$\[4\]" \
-	"\\\{40, 41, 42, 43, 44, 45, 46, 47, 48, 49\\\}" \
+    gdb_test -nonl {output $$[4]} $re \
 	"output available large_2d_array row from history"
 
-    gdb_test "print \$\$\[5\]" \
-	" = \\\{50, <unavailable> <repeats 9 times>\\\}" \
+    set re \
+	[string_to_regexp "{50, <unavailable> <repeats 9 times>}"]
+    gdb_test {print $$[5]} " = $re" \
 	"print partially available large_2d_array row from history"
-    gdb_test -nonl "output \$\$2\[5\]" \
-	"\\\{50, <unavailable> <repeats 9 times>\\\}" \
+    gdb_test -nonl {output $$2[5]} $re \
 	"output partially available large_2d_array row from history"
 
-    gdb_test "print \$\$2\[6\]" \
+    gdb_test {print $$2[6]} \
 	" = <unavailable>" \
 	"print unavailable large_2d_array row from history"
-    gdb_test -nonl "output \$\$3\[6\]" \
+    gdb_test -nonl {output $$3[6]} \
 	"<unavailable>" \
 	"output unavailable large_2d_array row from history"
 
-    gdb_test "print \$\$3\[5\]\[0\]" \
+    gdb_test {print $$3[5][0]} \
 	" = 50" \
 	"print available large_2d_array element from history"
-    gdb_test -nonl "output \$\$4\[5\]\[0\]" \
+    gdb_test -nonl {output $$4[5][0]} \
 	"50" \
 	"output available large_2d_array element from history"
 
-    gdb_test "print \$\$4\[5\]\[1\]" \
+    gdb_test {print $$4[5][1]} \
 	" = <unavailable>" \
 	"print unavailable large_2d_array element from history"
-    gdb_test -nonl "output \$\$5\[5\]\[1\]" \
+    gdb_test -nonl {output $$5[5][1]} \
 	"<unavailable>" \
 	"output unavailable large_2d_array element from history"
 
-    gdb_test "print \$\$5\[5\]\[0\] + \$\$5\[5\]\[1\]" \
+    gdb_test {print $$5[5][0] + $$5[5][1]} \
 	"value is not available" \
 	"print expression referring unavailable element from history"
-    gdb_test "output \$\$5\[5\]\[0\] + \$\$5\[5\]\[1\]" \
+    gdb_test {output $$5[5][0] + $$5[5][1]} \
 	"value is not available" \
 	"output expression referring unavailable element from history"
 }
@@ -244,9 +206,11 @@ with_test_prefix "with unlimited print elements" {
 gdb_test_no_output "set max-value-size 10000"
 gdb_test_no_output "set print elements 200"
 
-gdb_test "print large_empty_string" \
-    " = \\\{0 '\\\\000' <repeats 10000 times>, <unavailable> <repeats 90000 times>\\\}" \
+set re \
+    [string_to_regexp \
+	 {{0 '\000' <repeats 10000 times>,\
+	       <unavailable> <repeats 90000 times>}}]
+gdb_test "print large_empty_string" " = $re" \
     "print large empty string which is not fully available"
-gdb_test -nonl "output large_empty_string" \
-    "\\\{0 '\\\\000' <repeats 10000 times>, <unavailable> <repeats 90000 times>\\\}" \
+gdb_test -nonl "output large_empty_string" $re \
     "output large empty string which is not fully available"


More information about the Gdb-cvs mailing list