Change gdb test suite's TERM setting

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-12-28  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.
This commit is contained in:
Tom Tromey 2018-11-13 11:59:03 -07:00
parent eedeedd2a5
commit 9162a27c5f
3 changed files with 63 additions and 53 deletions

View File

@ -1,3 +1,10 @@
2018-12-28 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.
2018-12-27 Tom Tromey <tom@tromey.com>
* gdb.python/py-cmd.exp (test_python_inline_or_multiline): Add

View File

@ -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
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
}
}
# 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"
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"
}
if { ![readline_is_used] } {
unsupported "readline isn't used."
return -1
}
return 0
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.
set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
set env(GDBHISTSIZE) "10"
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"
}
}

View File

@ -4732,10 +4732,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,