]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix gdb.python/py-mi-cmd.exp
authorTom de Vries <tdevries@suse.de>
Wed, 12 Aug 2026 21:16:25 +0000 (23:16 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 12 Aug 2026 21:16:25 +0000 (23:16 +0200)
On Fedora Rawhide aarch64-linux (using Python 3.15.0b4), with test-case
gdb.python/py-mi-cmd.exp I ran into:
...
Expecting: ^(-pycmd bk3[^M
]+)?(&"TypeError.*: __repr__ returned non-string \(type BadKey\).."^M
\^error,msg="Error occurred in Python: __repr__ returned non-string \(type BadKey\)"[^M
]+[(]gdb[)] ^M
[ ]*)
-pycmd bk3^M
&"TypeError: ReallyBadKey.__repr__() must return a str, not BadKey\n"^M
^error,msg="Error occurred in Python: ReallyBadKey.__repr__() must return a str, not BadKey"^M
(gdb) ^M
FAIL: $exp: -pycmd bk3 (unexpected output)
...

Fix this by updating the regexp.

Tested with aarch64-linux (Python 3.15.0b4) and x86_64-linux (Python 3.13.14).

Approved-By: Tom Tromey <tom@tromey.com>
gdb/testsuite/gdb.python/py-mi-cmd.exp

index b66a73c331f590c15d857ff5b0b7926484416010..3c57a7ae322ef6c3fe5dd1920f5d1e570fd479b3 100644 (file)
@@ -68,10 +68,19 @@ mi_gdb_test "-pycmd bk2" \
     "\\^error,msg=\"Error occurred in Python: non-string object used as key: 1\"" \
     "-pycmd bk2"
 
+set re_msg \
+    [string cat \
+        "(" \
+        [string_to_regexp {__repr__ returned non-string (type BadKey)}] \
+        "|" \
+        [string_to_regexp \
+             {ReallyBadKey.__repr__() must return a str, not BadKey}] \
+        ")"]
 mi_gdb_test "-pycmd bk3" \
-    [multi_line \
-        "&\"TypeError.*: __repr__ returned non-string \\(type BadKey\\)..\"" \
-        "\\^error,msg=\"Error occurred in Python: __repr__ returned non-string \\(type BadKey\\)\""] \
+    [subst_vars \
+        [multi_line \
+             {&"TypeError.*: $re_msg\\n"} \
+             {\^error,msg="Error occurred in Python: $re_msg"}]] \
     "-pycmd bk3"
 
 mi_gdb_test "-pycmd tpl" \