binutils-gdb/gdb/testsuite/gdb.tui/completion.exp
Simon Marchi 71774bc994 Fix gdb.tui/completion.exp test
When I run it locally, the test gdb.tui/completion.exp test fails
because of a timeout:

Running /home/emaisin/src/binutils-gdb/gdb/testsuite/gdb.tui/completion.exp ...
FAIL: gdb.tui/completion.exp: completion of layout names: tab completion (timeout)

The problem seems to be this regex, which confirms that after doing
layout<TAB>, "layout" is printed again after the gdb prompt:

  -re "^$input_line$"

The problem is that there's a trailing space in the output after
"layout".  Since the regex has an anchored end (the $), it doesn't
match.  Adding a space fixes the test.

gdb/testsuite/ChangeLog:

	* gdb.tui/completionn.exp (test_tab_completion): Add space in
	regex.
2017-11-15 11:07:02 -05:00

57 lines
1.6 KiB
Plaintext

# Copyright 2015-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
gdb_exit
gdb_start
if {[skip_tui_tests] || [target_info exists gdb,nointerrupts]} {
return
}
gdb_test_no_output "set max-completions unlimited"
# TAB-complete INPUT_LINE, and expect EXPECTED_RE as completion match
# output.
proc test_tab_completion {input_line expected_re} {
global gdb_prompt
set test "tab completion"
send_gdb "$input_line\t\t\t"
gdb_test_multiple "" "$test" {
-re "$expected_re\r\n$gdb_prompt " {
gdb_test_multiple "" "$test" {
-re "^$input_line $" {
pass "$test"
}
}
}
}
send_gdb "\003"
set test "quit command input"
gdb_test_multiple "" "$test" {
-re "$gdb_prompt $" {
pass "$test"
}
}
}
with_test_prefix "completion of layout names" {
test_tab_completion "layout" "asm *next *prev *regs *split *src *"
}
with_test_prefix "completion of focus command" {
test_tab_completion "focus" "cmd *next *prev *src *"
}