]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Improve quotemeta error messages
authorTom de Vries <tdevries@suse.de>
Fri, 13 Feb 2026 11:03:06 +0000 (12:03 +0100)
committerTom de Vries <tdevries@suse.de>
Fri, 13 Feb 2026 11:03:06 +0000 (12:03 +0100)
With test-case gdb.testsuite/quotemeta.exp we get:
...
check_quotemeta_fail: input: @NOTHING
check_quotemeta_fail: catch_res: 1, catch_msg: \
  can't read "::_quotemeta(NOTHING)": no such element in array
PASS: gdb.testsuite/quotemeta.exp: no-such-subst
check_quotemeta_fail: input: @bad-name
check_quotemeta_fail: catch_res: 1, catch_msg: invalid quotemeta expression
PASS: gdb.testsuite/quotemeta.exp: bad-name
...

Improve the error messages to:
- undefined quotemeta expression @NOTHING
- invalid quotemeta expression @bad-name

gdb/testsuite/lib/quotemeta.exp

index 5b587df754e56c2fdcb7681824edcfc7a5f1d972..d2810e2c45bc81bc4f754683cb07df82166a2d5a 100644 (file)
@@ -85,7 +85,7 @@ proc quotemeta {str} {
            # Match the usual forms.
            if {![regexp -- "^(\\.\\.\\.|\[A-Z\]\[A-Z_\]*|@|/\[^/\]*/)(.*)$" \
                      $at_text ignore at_text remainder]} {
-               error "invalid quotemeta expression"
+               error "invalid quotemeta expression @$at_text"
            }
        }
 
@@ -100,6 +100,9 @@ proc quotemeta {str} {
            # an embedded "/".
            append result $rx
        } else {
+           if {![info exists ::_quotemeta($at_text)]} {
+               error "undefined quotemeta expression @$at_text"
+           }
            append result $::_quotemeta($at_text)
        }