]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Set TERM to dumb by default
authorTom de Vries <tdevries@suse.de>
Tue, 17 Jun 2025 06:28:50 +0000 (08:28 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 17 Jun 2025 06:28:50 +0000 (08:28 +0200)
With MSYS2 and default TERM=xterm-256color (as well as with xterm and ansi), I
get:
...
builtin_spawn gdb -q ...
^[[6n(gdb) ERROR: GDB never initialized.
...

This is not specific to gdb, other tools produce the same CSI sequence, and
consequently we run into trouble in other places (like get_compiler_info).

Fix this by default-setting TERM to dumb.

We do this for all platforms, to avoid test-cases passing on one platform but
failing on another.

For test-cases that set TERM to something other than dumb, handle the CSI
sequence in default_gdb_start.

Approved-By: Tom Tromey <tom@tromey.com>
PR testsuite/33072
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33072

gdb/testsuite/lib/gdb.exp

index ef46e8f58c0f7fc63fd8e131b388b9d6b4b7f2d4..d9f53d2fd93dc9322db367d5609cc8c1320981c9 100644 (file)
@@ -2585,6 +2585,17 @@ proc default_gdb_start { } {
            # Output with -q, and bracketed paste mode enabled, see above.
            verbose "GDB initialized."
        }
+       -re "^\033\\\[6n$gdb_prompt $" {
+           # With MSYS2 and TERM={xterm,ansi}, I get:
+           #
+           #   builtin_spawn gdb -q ...
+           #   ^[[6n(gdb)
+           #
+           # We set TERM to dumb by default to avoid this, but some
+           # test-cases set TERM to xterm or ansi, in which case we get this
+           # output.
+           verbose "GDB initialized."
+       }
        -re "$gdb_prompt $"     {
            perror "GDB never initialized."
            unset gdb_spawn_id
@@ -7531,6 +7542,22 @@ proc default_gdb_init { test_file_name } {
     setenv LC_CTYPE C
     setenv LANG C
 
+    # With MSYS2 and TERM={xterm,ansi}, I get:
+    #
+    #   builtin_spawn gdb -q ...
+    #   ^[[6n(gdb)
+    #
+    # While we're addressing this in default_gdb_start, this is not specific
+    # to gdb, other tools produce the same CSI sequence, and consequently we
+    # run into trouble in other places (like get_compiler_info).
+    #
+    # Set TERM to dumb to prevent the '^[[6n' from occurring.
+    #
+    # We could do this only for ishost *-*-mingw*, but that introduces
+    # inconsistency between platforms, with test-cases passing on one platform
+    # but failing on the other.  So, we do this for all platforms.
+    setenv TERM dumb
+
     # 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