]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Add proc subst_vars
authorTom de Vries <tdevries@suse.de>
Wed, 22 Oct 2025 05:36:07 +0000 (07:36 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 22 Oct 2025 05:36:07 +0000 (07:36 +0200)
Add proc subst_vars, an alias of subst -nobackslashes -nocommands.

I've used tailcall to implement this:
...
proc subst_vars { str } {
    tailcall subst -nobackslashes -nocommands $str
}
...
but I found that this also works:
...
proc subst_vars { str } {
    return [uplevel 1 [list subst -nobackslashes -nocommands $str]]
}
...

I've found other uses of subst that don't add "-nobackslashes -nocommands",
but really only use subst to do variable substitution.  Also use subst_vars in
those cases.

Tested on x86_64-linux.

Approved-By: Tom Tromey <tom@tromey.com>
gdb/testsuite/gdb.base/coredump-filter.exp
gdb/testsuite/gdb.base/nodebug.exp
gdb/testsuite/gdb.compile/compile-ops.exp
gdb/testsuite/gdb.cp/local-static.exp
gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp
gdb/testsuite/gdb.threads/gcore-thread.exp
gdb/testsuite/gdb.trace/save-trace.exp
gdb/testsuite/gdb.tui/resize-3.exp
gdb/testsuite/lib/gdb-utils.exp

index 9d99b968aab5d46a9518f7214a57ef65e48ec96f..8a0652f6bda3a972d3183a06a9aafa3ba039cb18 100644 (file)
@@ -223,7 +223,7 @@ foreach item $all_anon_corefiles {
 # Generate corefiles for the "anon" case.
 foreach item $all_anon_corefiles {
     with_test_prefix "saving corefile for [lindex $item 0]" {
-       do_save_core [lindex $item 1] [subst [lindex $item 2]] [lindex $item 6]
+       do_save_core [lindex $item 1] [subst_vars [lindex $item 2]] [lindex $item 6]
     }
 }
 
@@ -235,12 +235,12 @@ clean_restart $testfile
 
 foreach item $all_anon_corefiles {
     with_test_prefix "loading and testing corefile for [lindex $item 0]" {
-       do_load_and_test_core [subst [lindex $item 2]] [lindex $item 3] \
+       do_load_and_test_core [subst_vars [lindex $item 2]] [lindex $item 3] \
            [lindex $item 4] [lindex $item 5] [lindex $item 6]
     }
 
     with_test_prefix "disassembling function main for [lindex $item 0]" {
-       test_disasm [subst [lindex $item 2]] $main_addr 0
+       test_disasm [subst_vars [lindex $item 2]] $main_addr 0
     }
 }
 
index 6ed428e6c74136dcc96634cbba3a7493be492076..195ad855c5c52ed14c6ea6759f58e3346e0ccaea 100644 (file)
@@ -145,9 +145,9 @@ if {[nodebug_runto inner]} {
            set whatis_re [lindex $lang_line 2]
            set ptype_re [lindex $lang_line 3]
 
-           set print_re [subst "$print_re"]
-           set whatis_re [subst "$whatis_re"]
-           set ptype_re [subst "$ptype_re"]
+           set print_re [subst_vars "$print_re"]
+           set whatis_re [subst_vars "$whatis_re"]
+           set ptype_re [subst_vars "$ptype_re"]
 
            with_test_prefix "$lang" {
                gdb_test_no_output "set language $lang"
@@ -205,9 +205,9 @@ if {[nodebug_runto inner]} {
     } {
        set exp [lindex $line 0]
        # Expand variables.
-       set fmt [subst -nobackslashes [lindex $line 1]]
-       set print [subst  -nobackslashes [lindex $line 2]]
-       set whatis [subst -nobackslashes [lindex $line 3]]
+       set fmt [subst_vars [lindex $line 1]]
+       set print [subst_vars [lindex $line 2]]
+       set whatis [subst_vars [lindex $line 3]]
        if {$fmt == ""} {
            gdb_test "p $exp" $print
        } else {
index e7103bc15de59b44c496ea2a7c28d1b8fe209d28..8a468ca81b9b0613bd5b6bf9c8d34ea3d45564ae 100644 (file)
@@ -37,13 +37,13 @@ set assert_tos_non0 {
     DW_OP_skip -3
 }
 
-set assert_tos_0 [subst {
+set assert_tos_0 [subst_vars {
     DW_OP_lit0
     DW_OP_eq
     $assert_tos_non0
 }]
 
-set program [subst {
+set program [subst_vars {
     DW_OP_lit0
     DW_OP_nop
     $assert_tos_0
index c80c62135c00ee62149477dcd195c6c077c31605..183dc8a4db611b808fdefaeac4442c12f2e6d845 100644 (file)
@@ -170,10 +170,10 @@ proc do_test {lang} {
        set scope [lindex $scope_line 0]
 
        set print_quoted_re [lindex $scope_line 2]
-       set print_quoted_re [uplevel 1 "subst -nobackslashes -nocommands \"$print_quoted_re\""]
+       set print_quoted_re [uplevel 1 "subst_vars \"$print_quoted_re\""]
 
        set print_unquoted_re [lindex $scope_line 3]
-       set print_unquoted_re [uplevel 1 "subst -nobackslashes -nocommands \"$print_unquoted_re\""]
+       set print_unquoted_re [uplevel 1 "subst_vars \"$print_unquoted_re\""]
 
        gdb_test "print '${scope}'" $print_quoted_re
 
index 2ad358fd64cc5c5299b7ee66045a5af65bd023d7..0abd8d89682be68ffb22a476a9c51e3fb0cf5499 100644 (file)
@@ -191,7 +191,7 @@ proc do_test { type {clang 0}} {
            gdb_test "ptype '$ctype'" \
                "type = $ctype"
 
-           set type_size [subst \$::${type_id}_size]
+           set type_size [subst_vars \$::${type_id}_size]
 
            gdb_test "p sizeof ('$type')" \
                " = $type_size"
index f32e9b41f9cb6ad53f705b6c068c906240924d53..4b9a1543e8d99381128c707404c13f8f2e15bcfc 100644 (file)
@@ -143,7 +143,7 @@ proc load_core { filename } {
 }
 
 foreach name { corefile core0file } {
-    set filename [subst $$name]
+    set filename [subst_vars $$name]
     if { $filename == "" } {
        continue
     }
index 31d976899cd8c1e2211ac9c0f5cde2bbab3dae8d..34a3babffb9ac648d76a576d5e946281dffaff68 100644 (file)
@@ -53,7 +53,7 @@ set testline6 [expr {$baseline + 9}]
 gdb_delete_tracepoints
 
 foreach x { 1 2 3 4 5 6 } {
-    set testline [subst \$testline$x]
+    set testline [subst_vars \$testline$x]
     set trcpt [gdb_gettpnum $testline]
     set trcpt$x $trcpt
     gdb_test "passcount $x" \
index fe07e5c3622c1be2ec66138fdd91e9b422d8f579..2550046f463ea2b9b14283b8802783318391f499 100644 (file)
@@ -69,5 +69,5 @@ with_test_prefix "after resize" {
        "No Assembly message is not displayed" \
        "No Assembly Available"
     Term::check_contents "Assembler for foo is shown" \
-       [subst -nobackslashes -nocommands {$hex\s+<(\.)?foo}]
+       [subst_vars {$hex\s+<(\.)?foo}]
 }
index f4506a1f92a53f8f8247f56c371d41dfd2829b77..e81f35ace79ea0876e2ce7039f15cf4ba1312918 100644 (file)
@@ -246,3 +246,9 @@ proc with_lock { lock_file body } {
        return -code $code $result
     }
 }
+
+# Alias for subst -nobackslashes -nocommands.
+
+proc subst_vars { str } {
+    tailcall subst -nobackslashes -nocommands $str
+}