[pushed] [gdb/testsuite] Improve gdb.python/remove-readline-finder.exp

Tom de Vries <[email protected]> Wed, 5 Aug 2026 15:08:19 +0200
Newsgroups gmane.comp.gdb.patches
Message-ID <[email protected]>
I came across test-case gdb.python/remove-readline-finder.exp.

It checks that a "python import readline" command fails.

Extend the test-case with also checking that the readline module is not
present in the sys.modules dict.

While we're at it, modernize a regexp using multi_line.

Tested on x86_64-linux (using make-check-all.sh) and aarch64-linux.
---
 .../gdb.python/remove-readline-finder.exp      | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.python/remove-readline-finder.exp b/gdb/testsuite/gdb.python/remove-readline-finder.exp
index 362e90e6b7c..325e9710e28 100644
--- a/gdb/testsuite/gdb.python/remove-readline-finder.exp
+++ b/gdb/testsuite/gdb.python/remove-readline-finder.exp
@@ -23,5 +23,21 @@ standard_testfile
 
 clean_restart
 
+gdb_test_no_output "py import sys"
+
+# Check that readline is not imported.
+with_test_prefix initial {
+    gdb_test "py print (sys.modules.get('readline'))" \
+       "None"
+}
+
+# Try to import readline, and check that it fails.
+set re_msg "readline module disabled under GDB"
 gdb_test "py import readline" \
-  "Python Exception <class 'ImportError'>: readline module disabled under GDB\r\n.*"
+    [multi_line \
+	"Python Exception <class 'ImportError'>: $re_msg" \
+	"Error occurred in Python: $re_msg"]
+
+# Check that readline is still not imported.
+gdb_test "py print (sys.modules.get('readline'))" \
+    "None"

base-commit: cd4e3876afb11e07fb7f3ccc10a87e3b990074eb
-- 
2.51.0