0d4d0e772a
The completion feature and other features on readline depend on the readline library. However, readline library is not always used, for example, running testsuite like make check RUNTESTFLAGS="--host_board=local-remote-host" the input stream is not a tty, and GDB doesn't use readline library as a result. This patch is to skip tests on completion and readline if 'show editing' is off, which means readline isn't used. Note that some tests in gdb.base/completion.exp test command complete, which isn't related to readline, so these tests aren't affected by readline library. This patch also moves these tests up, run them unconditionally, and run the rest if readline library is used. gdb/testsuite: 2014-03-26 Yao Qi <yao@codesourcery.com> * lib/gdb.exp (readline_is_used): New proc. * gdb.base/completion.exp: Move tests on command complete up. Skip the rest of tests if readline is not used. * gdb.ada/complete.exp: Skp the test if readline is not used. * gdb.base/filesym.exp: Likewise. * gdb.base/macscp.exp: Likewise. * gdb.base/readline-ask.exp: Likewise. * gdb.base/readline.exp: Likewise. * gdb.python/py-cmd.exp: Likewise. * gdb.trace/tfile.exp: Likewise.
57 lines
1.7 KiB
Text
57 lines
1.7 KiB
Text
# Copyright 2013-2014 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/>.
|
|
|
|
# This series of completion tests checks the completion output
|
|
# on a name which is potentially both a symbol name and a file name.
|
|
|
|
standard_testfile
|
|
|
|
if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
|
|
return -1
|
|
}
|
|
|
|
if { ![readline_is_used] } {
|
|
unsupported "completion doesn't work when readline isn't used."
|
|
return -1
|
|
}
|
|
|
|
|
|
# Test completion list for "filesy". We expect the immediate result to
|
|
# complete to "filesym"; completing again, we expect the symbol name and the
|
|
# filename (in that order).
|
|
|
|
set tst "complete on \"filesy\""
|
|
send_gdb "break filesy\t"
|
|
gdb_test_multiple "" $tst {
|
|
-re "break filesy\\\x07m\$" {
|
|
pass $tst
|
|
|
|
# Now ask for the completion list
|
|
set tst "completion list for \"filesym\""
|
|
send_gdb "\t\t"
|
|
gdb_test_multiple "" $tst {
|
|
-re "\\\x07\r\nfilesym\[ \t\]+filesym.c\[ \t\]+\r\n$gdb_prompt " {
|
|
pass $tst
|
|
|
|
# Flush the rest of the output by creating the breakpoint.
|
|
# This ensures this file passes testsuite/12649.
|
|
send_gdb "\n"
|
|
gdb_test "" "Breakpoint 1.*" "set breakpoint at filesym"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
unset -nocomplain tst
|