Disable bracketed paste mode in GDB tests
authorTom Tromey <tom@tromey.com>
Sat, 23 Jan 2021 15:52:45 +0000 (08:52 -0700)
committerTom Tromey <tom@tromey.com>
Sat, 23 Jan 2021 15:52:45 +0000 (08:52 -0700)
I have a patch to import GNU readline 8.1 into GDB.  However, when
running the tests, there were a number of failures due to "bracketed
paste mode".  This is a terminal feature that readline 8.1 enables by
default.

The simplest way to work around this was to always make a ".inputrc"
for GDB tests that will tell readline to disable brackted paste mode.

gdb/testsuite/ChangeLog
2021-01-23  Tom Tromey  <tom@tromey.com>

* lib/gdb.exp (default_gdb_init): Set INPUTRC to a cached file.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index b9522c818f93d5f115f637251e081f2199a4030b..cb3913cc8a5a4f996a6c68e460969441ae424957 100644 (file)
@@ -1,3 +1,7 @@
+2021-01-23  Tom Tromey  <tom@tromey.com>
+
+       * lib/gdb.exp (default_gdb_init): Set INPUTRC to a cached file.
+
 2021-01-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        * gdb.base/line65535.exp: Fix test expectation.
index 3eebfa1255d30e1d2e7db131906f7b43179c9a89..03653ab1a7fce9ee85cae5b38033574c82fa0ebd 100644 (file)
@@ -5186,13 +5186,14 @@ proc default_gdb_init { test_file_name } {
     setenv LC_CTYPE C
     setenv LANG C
 
-    # Don't let a .inputrc file or an existing setting of INPUTRC mess up
-    # the test results.  Even if /dev/null doesn't exist on the particular
-    # platform, the readline library will use the default setting just by
-    # failing to open the file.  OTOH, opening /dev/null successfully will
-    # also result in the default settings being used since nothing will be
-    # read from this file.
-    setenv INPUTRC "/dev/null"
+    # Don't let a .inputrc file or an existing setting of INPUTRC mess
+    # up the test results.  Certain tests (style tests and TUI tests)
+    # want to set the terminal to a non-"dumb" value, and for those we
+    # want to disable bracketed paste mode.  Versions of Readline
+    # before 8.0 will not understand this and will issue a warning.
+    # We tried using a $if to guard it, but Readline 8.1 had a bug in
+    # its version-comparison code that prevented this for working.
+    setenv INPUTRC [cached_file inputrc "set enable-bracketed-paste off"]
 
     # This disables style output, which would interfere with many
     # tests.