[04/16] Change gdb test suite's TERM setting

Message ID 20181128001435.12703-5-tom@tromey.com
State New
Headers show
Series
  • Add styling to the gdb CLI and TUI
Related show

Commit Message

Tom Tromey Nov. 28, 2018, 12:14 a.m.
This changes the gdb test suite to set TERM to "dumb" by default.
This setting disables terminal styling, so that the existing tests do
not need to be updated.

gdb/testsuite/ChangeLog
2018-11-27  Tom Tromey  <tom@tromey.com>

	* lib/gdb.exp (gdb_init): Set the TERM environment variable to
	"dumb".
	* gdb.base/readline.exp (operate_and_get_next): Save and restore
	the TERM environment variable.
---
 gdb/testsuite/ChangeLog             |  7 +++
 gdb/testsuite/gdb.base/readline.exp | 94 +++++++++++++++--------------
 gdb/testsuite/lib/gdb.exp           |  7 +--
 3 files changed, 59 insertions(+), 49 deletions(-)

-- 
2.17.2

Patch

diff --git a/gdb/testsuite/gdb.base/readline.exp b/gdb/testsuite/gdb.base/readline.exp
index 49bd308197..9f0955c112 100644
--- a/gdb/testsuite/gdb.base/readline.exp
+++ b/gdb/testsuite/gdb.base/readline.exp
@@ -141,57 +141,61 @@  proc operate_and_get_next {name args} {
   return 1
 }
 
+save_vars { env(TERM) } {
+    # The arrow key test relies on the standard VT100 bindings, so
+    # make sure that an appropriate terminal is selected.  The same
+    # bug doesn't show up if we use ^P / ^N instead.
+    setenv TERM vt100
 
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
+    gdb_start
+    gdb_reinitialize_dir $srcdir/$subdir
 
-if { ![readline_is_used] } {
-    unsupported "readline isn't used."
-    return -1
-}
+    if { ![readline_is_used] } {
+	unsupported "readline isn't used."
+	return -1
+    }
 
-save_vars { timeout env(GDBHISTSIZE) env(GDBHISTFILE) } {
-    set timeout 30
-
-    # A simple test of operate-and-get-next.
-    operate_and_get_next "Simple operate-and-get-next" \
-      "p 1" ".* = 1" \
-      "p 2" ".* = 2" \
-      "p 3" ".* = 3"
-
-    # Test operate-and-get-next with a secondary prompt.
-    operate_and_get_next "operate-and-get-next with secondary prompt" \
-      "if 1 > 0" "" \
-      "p 5" "" \
-      "end" ".* = 5"
-
-    # Verify that arrow keys work in secondary prompts.  The control
-    # sequence is a hard-coded VT100 up arrow.
-    gdb_test "print 42" "\\\$\[0-9\]* = 42"
-    set msg "arrow keys with secondary prompt"
-    gdb_test_multiple "if 1 > 0\n\033\[A\033\[A\nend" $msg {
-	-re ".*\\\$\[0-9\]* = 42\r\n$gdb_prompt $" {
-	    pass $msg
-	}
-	-re ".*Undefined command:.*$gdb_prompt $" {
-	    fail $msg
+    save_vars { timeout env(GDBHISTSIZE) env(GDBHISTFILE) } {
+	set timeout 30
+
+	# A simple test of operate-and-get-next.
+	operate_and_get_next "Simple operate-and-get-next" \
+	    "p 1" ".* = 1" \
+	    "p 2" ".* = 2" \
+	    "p 3" ".* = 3"
+
+	# Test operate-and-get-next with a secondary prompt.
+	operate_and_get_next "operate-and-get-next with secondary prompt" \
+	    "if 1 > 0" "" \
+	    "p 5" "" \
+	    "end" ".* = 5"
+
+	# Verify that arrow keys work in secondary prompts.  The control
+	# sequence is a hard-coded VT100 up arrow.
+	gdb_test "print 42" "\\\$\[0-9\]* = 42"
+	set msg "arrow keys with secondary prompt"
+	gdb_test_multiple "if 1 > 0\n\033\[A\033\[A\nend" $msg {
+	    -re ".*\\\$\[0-9\]* = 42\r\n$gdb_prompt $" {
+		pass $msg
+	    }
+	    -re ".*Undefined command:.*$gdb_prompt $" {
+		fail $msg
+	    }
 	}
-    }
 
-    # Now repeat the first test with a history file that fills the entire
-    # history list.
+	# Now repeat the first test with a history file that fills the entire
+	# history list.
 
-    set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
-    set env(GDBHISTSIZE) "10"
+	set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
+	set env(GDBHISTSIZE) "10"
 
-    gdb_exit
-    gdb_start
-    gdb_reinitialize_dir $srcdir/$subdir
+	gdb_exit
+	gdb_start
+	gdb_reinitialize_dir $srcdir/$subdir
 
-    operate_and_get_next "Simple operate-and-get-next" \
-      "p 7" ".* = 7" \
-      "p 8" ".* = 8" \
-      "p 9" ".* = 9"
+	operate_and_get_next "Simple operate-and-get-next" \
+	    "p 7" ".* = 7" \
+	    "p 8" ".* = 8" \
+	    "p 9" ".* = 9"
+    }
 }
-
-return 0
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 5a5713b114..7eed7b5190 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -4719,10 +4719,9 @@  proc gdb_init { test_file_name } {
     # read from this file.
     setenv INPUTRC "/dev/null"
 
-    # The gdb.base/readline.exp arrow key test relies on the standard VT100
-    # bindings, so make sure that an appropriate terminal is selected.
-    # The same bug doesn't show up if we use ^P / ^N instead.
-    setenv TERM "vt100"
+    # This disables style output, which would interfere with many
+    # tests.
+    setenv TERM "dumb"
 
     # Some tests (for example gdb.base/maint.exp) shell out from gdb to use
     # grep.  Clear GREP_OPTIONS to make the behavior predictable,