5ea2a32c88
to a known value in order to get consistent results regardless of the setting of INPUTRC or the presence or contents of .inputrc.
620 lines
22 KiB
Text
620 lines
22 KiB
Text
# Copyright 1998, 1999 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 2 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, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
# Please email any bugs, comments, and/or additions to this file to:
|
|
# bug-gdb@prep.ai.mit.edu
|
|
|
|
# This file was written by Elena Zannoni (ezannoni@cygnus.com)
|
|
|
|
# This file is part of the gdb testsuite.
|
|
|
|
#
|
|
# tests for command completion
|
|
#
|
|
# Here are some useful test cases for completion.
|
|
# They should be tested with both M-? and TAB.
|
|
#
|
|
# "show output-" "radix"
|
|
# "show output" "-radix"
|
|
# "p" ambiguous (commands starting with p--path, print, printf, etc.)
|
|
# "p " ambiguous (all symbols)
|
|
# "info t foo" no completions
|
|
# "info t " no completions
|
|
# "info t" ambiguous ("info target", "info terminal", etc.)
|
|
# "info ajksdlfk" no completions
|
|
# "info ajksdlfk " no completions
|
|
# "info" " "
|
|
# "info " ambiguous (all info commands)
|
|
# "p \"a" no completions (string constant)
|
|
# "p 'a" ambiguous (all symbols starting with a)
|
|
# "p b-a" ambiguous (all symbols starting with a)
|
|
# "p b-" ambiguous (all symbols)
|
|
# "file Make" "file" (word break hard to screw up here)
|
|
# "file ../gdb.stabs/we" "ird" (needs to not break word at slash)
|
|
#
|
|
|
|
|
|
if $tracelevel then {
|
|
strace $tracelevel
|
|
}
|
|
|
|
|
|
global usestubs
|
|
|
|
#
|
|
# test running programs
|
|
#
|
|
set prms_id 0
|
|
set bug_id 0
|
|
|
|
set testfile "break"
|
|
set srcfile ${testfile}.c
|
|
set binfile ${objdir}/${subdir}/${testfile}
|
|
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } {
|
|
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
|
|
}
|
|
|
|
if [get_compiler_info ${binfile}] {
|
|
return -1;
|
|
}
|
|
|
|
gdb_exit
|
|
|
|
# Don't let a .inputrc file or an existing setting of INPUTRC mess up
|
|
# the test results. Even if /dev/null doesn't exist on the particular
|
|
# platform, the readline library will use the default setting just by
|
|
# failing to open the file. OTOH, opening /dev/null successfully will
|
|
# also result in the default settings being used since nothing will be
|
|
# read from this file.
|
|
global env
|
|
if [info exists env(INPUTRC)] {
|
|
set old_inputrc $env(INPUTRC)
|
|
}
|
|
set env(INPUTRC) "/dev/null"
|
|
|
|
gdb_start
|
|
gdb_reinitialize_dir $srcdir/$subdir
|
|
gdb_load ${binfile}
|
|
|
|
if ![runto_main] then {
|
|
perror "tests suppressed"
|
|
}
|
|
|
|
set oldtimeout1 $timeout
|
|
set timeout 30
|
|
|
|
|
|
send_gdb "hfgfh\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^hfgfh\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Undefined command: \"hfgfh\"\\. Try \"help\"\\..*$gdb_prompt $"\
|
|
{ pass "complete 'hfgfh'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'hfgfh'"}
|
|
timeout {fail "(timeout) complete 'hfgfh'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'hfgfh'" }
|
|
timeout { fail "(timeout) complete 'hfgfh'" }
|
|
}
|
|
|
|
#exp_internal 0
|
|
|
|
send_gdb "show output\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^show output-radix $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Default output radix for printing of values is 10\\..*$gdb_prompt $"\
|
|
{ pass "complete 'show output'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output'"}
|
|
timeout {fail "(timeout) complete 'show output'"}
|
|
}
|
|
}
|
|
-re "^show output$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Default output radix for printing of values is 10\\..*$gdb_prompt $"\
|
|
{ fail "complete 'show output'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output'"}
|
|
timeout { fail "(timeout) complete 'show output'"}
|
|
}
|
|
|
|
}
|
|
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output'" }
|
|
timeout { fail "(timeout) complete 'show output'" }
|
|
}
|
|
|
|
|
|
send_gdb "show output-\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^show output-radix $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Default output radix for printing of values is 10\\..*$gdb_prompt $"\
|
|
{ pass "complete 'show output-'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output-'"}
|
|
timeout {fail "(timeout) complete 'show output-'"}
|
|
}
|
|
}
|
|
-re "^show output-$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Default output radix for printing of values is 10\\..*$gdb_prompt $"\
|
|
{ fail "complete 'show output-'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output-'"}
|
|
timeout { fail "(timeout) complete 'show output-'"}
|
|
}
|
|
|
|
}
|
|
|
|
-re ".*$gdb_prompt $" { fail "complete 'show output-'" }
|
|
timeout { fail "(timeout) complete 'show output-'" }
|
|
}
|
|
|
|
send_gdb "p\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p\\\x07$"\
|
|
{ send_gdb "\n"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "The history is empty\\..*$gdb_prompt $"\
|
|
{ pass "complete 'p'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p'"}
|
|
timeout {fail "(timeout) complete 'p' 2"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p'" }
|
|
timeout { fail "(timeout) complete 'p' 1" }
|
|
}
|
|
|
|
send_gdb "p \t"
|
|
sleep 3
|
|
gdb_expect {
|
|
-re "^p \\\x07$"\
|
|
{ send_gdb "\n"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "The history is empty\\..*$gdb_prompt $"\
|
|
{ pass "complete 'p '"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p '"}
|
|
timeout {fail "(timeout) complete 'p ' 1"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p '" }
|
|
timeout { fail "(timeout) complete 'p ' 2" }
|
|
}
|
|
|
|
|
|
send_gdb "info t foo\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info t foo\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Ambiguous info command \"t foo\": target, terminal, threads, tp, tracepoints, types\\..*$gdb_prompt $"\
|
|
{ pass "complete 'info t foo'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t foo'"}
|
|
timeout {fail "(timeout) complete 'info t foo'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t foo'" }
|
|
timeout { fail "(timeout) complete 'info t foo'" }
|
|
}
|
|
|
|
send_gdb "info t\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info t\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Ambiguous info command \"t\": target, terminal, threads, tp, tracepoints, types\\..
|
|
*$gdb_prompt $"\
|
|
{ pass "complete 'info t'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t'"}
|
|
timeout {fail "(timeout) complete 'info t'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t'" }
|
|
timeout { fail "(timeout) complete 'info t'" }
|
|
}
|
|
|
|
|
|
send_gdb "info t \t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info t \\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Ambiguous info command \"t \": target, terminal, threads, tp, tracepoints, types\\..
|
|
*$gdb_prompt $"\
|
|
{ pass "complete 'info t '"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t '"}
|
|
timeout {fail "(timeout) complete 'info t '"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info t '" }
|
|
timeout { fail "(timeout) complete 'info t '" }
|
|
}
|
|
|
|
|
|
send_gdb "info asdfgh\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info asdfgh\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Undefined info command: \"asdfgh\". Try \"help info\"\\..
|
|
*$gdb_prompt $"\
|
|
{ pass "complete 'info asdfgh'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info asdfgh'"}
|
|
timeout {fail "(timeout) complete 'info asdfgh'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info asdfgh'" }
|
|
timeout { fail "(timeout) complete 'info asdfgh'" }
|
|
}
|
|
|
|
|
|
send_gdb "info asdfgh \t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info asdfgh \\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Undefined info command: \"asdfgh \". Try \"help info\"\\..
|
|
*$gdb_prompt $"\
|
|
{ pass "complete 'info asdfgh '"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info asdfgh '"}
|
|
timeout {fail "(timeout) complete 'info asdfgh '"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info asdfgh '" }
|
|
timeout { fail "(timeout) complete 'info asdfgh '" }
|
|
}
|
|
|
|
send_gdb "info\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "\"info\" must be followed by the name of an info command\\.\r\nList of info subcommands:\r\n\r\n.*info address.*info watchpoints.*\r\n\r\nType \"help info\" followed by info subcommand name for full documentation.\r\nCommand name abbreviations are allowed if unambiguous\\..*$gdb_prompt $"\
|
|
{ pass "complete 'info'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info'"}
|
|
timeout {fail "(timeout) complete 'info'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info'" }
|
|
timeout { fail "(timeout) complete 'info'" }
|
|
}
|
|
|
|
send_gdb "info \t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info \\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "\"info\" must be followed by the name of an info command\\.\r\nList of info subcommands:\r\n\r\n.*info address.*Type \"help info\" followed by info subcommand name for full documentation.\r\nCommand name abbreviations are allowed if unambiguous\\..*$gdb_prompt $"\
|
|
{ pass "complete 'info '"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info '"}
|
|
timeout {fail "(timeout) complete 'info '"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info '" }
|
|
timeout { fail "(timeout) complete 'info '" }
|
|
}
|
|
|
|
|
|
send_gdb "info \t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info \\\x07$"\
|
|
{ send_gdb "\t"
|
|
gdb_expect {
|
|
-re "address.*types.*$gdb_prompt info $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "\"info\".*unambiguous\\..*$gdb_prompt $"\
|
|
{ pass "complete (2) 'info '"}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'info '"}
|
|
timeout {fail "(timeout) complete (2) 'info '"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'info '"}
|
|
timeout {fail "(timeout) complete (2) 'info '"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'info '" }
|
|
timeout { fail "(timeout) complete (2) 'info '" }
|
|
}
|
|
|
|
|
|
send_gdb "p \"a\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p \"a\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Unterminated string in expression\\..*$gdb_prompt $"\
|
|
{ pass "complete 'p a'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p a'"}
|
|
timeout {fail "(timeout) complete 'p a'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p \"a'" }
|
|
timeout { fail "(timeout) complete 'p \"a'" }
|
|
}
|
|
|
|
send_gdb "p 'a\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p 'a\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Invalid character constant\\..*$gdb_prompt $"\
|
|
{ pass "complete 'p \'a'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p \'a'"}
|
|
timeout {fail "(timeout) complete 'p \'a'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p \'a'" }
|
|
timeout { fail "(timeout) complete 'p \'a'" }
|
|
}
|
|
|
|
send_gdb "p 'a\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p 'a\\\x07$" {
|
|
send_gdb "\t"
|
|
gdb_expect {
|
|
-re "a64l.*argv.*$gdb_prompt p .a$" {
|
|
send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Invalid character constant\\..*$gdb_prompt $" {
|
|
pass "complete (2) 'p \'a'"
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p \'a'" }
|
|
timeout { fail "(timeout) complete (2) 'p \'a'" }
|
|
}
|
|
}
|
|
-re "(There are $decimal possibilities\\. Do you really\r\nwish to see them all.|Display all $decimal possibilities.) \\(y or n\\)$" {
|
|
send_gdb "n"
|
|
gdb_expect {
|
|
-re "\\(gdb\\) p 'a$" {
|
|
send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Invalid character constant\\..*$gdb_prompt $" {
|
|
pass "complete (2) 'p \'a'"
|
|
}
|
|
-re ".*$gdb_prompt $" {
|
|
fail "complete (2) 'p \'a'"
|
|
}
|
|
timeout { fail "(timeout) complete (2) 'p \'a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p \'a'" }
|
|
timeout { fail "(timeout) complete (2) 'p \'a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p \'a'" }
|
|
timeout { fail "(timeout) complete (2) 'p \'a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p \'a'" }
|
|
timeout { fail "(timeout) complete (2) 'p \'a'" }
|
|
}
|
|
|
|
|
|
send_gdb "p b-a\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p b-a\\\x07$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "No symbol \"b\" in current context\\..*$gdb_prompt $"\
|
|
{ pass "complete 'p b-a'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p b-a'"}
|
|
timeout {fail "(timeout) complete 'p b-a'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'p b-a'" }
|
|
timeout { fail "(timeout) complete 'p b-a'" }
|
|
}
|
|
|
|
send_gdb "p b-a\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p b-a\\\x07$" {
|
|
send_gdb "\t"
|
|
gdb_expect {
|
|
-re "a64l.*argv.*$gdb_prompt p b-a$" {
|
|
send_gdb "\n"
|
|
gdb_expect {
|
|
-re "No symbol \"b\" in current context\\..*$gdb_prompt $" {
|
|
pass "complete (2) 'p b-a'"
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-a'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-a'" }
|
|
}
|
|
}
|
|
-re "(There are $decimal possibilities\\. Do you really\r\nwish to see them all.|Display all $decimal possibilities.) \\(y or n\\)$" {
|
|
send_gdb "n"
|
|
gdb_expect {
|
|
-re "\\(gdb\\) p b-a$" {
|
|
send_gdb "\n"
|
|
gdb_expect {
|
|
-re "No symbol \"b\" in current context\\..*$gdb_prompt $" {
|
|
pass "complete (2) 'p b-a'"
|
|
}
|
|
-re ".*$gdb_prompt $" {
|
|
fail "complete (2) 'p b-a'"
|
|
}
|
|
timeout { fail "(timeout) complete (2) 'p b-a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-a'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-a'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-a'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-a'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-a'" }
|
|
}
|
|
|
|
send_gdb "p b-\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^p b-\\\x07$" {
|
|
send_gdb "\t"
|
|
gdb_expect {
|
|
-re "(There are $decimal possibilities\\. Do you really\r\nwish to see them all.|Display all $decimal possibilities.) \\(y or n\\)$" {
|
|
send_gdb "n"
|
|
gdb_expect {
|
|
-re "\\(gdb\\) p b-$" {
|
|
send_gdb "\n"
|
|
gdb_expect {
|
|
-re "No symbol \"b\" in current context\\..*$gdb_prompt $" {
|
|
pass "complete (2) 'p b-'"
|
|
}
|
|
-re ".*$gdb_prompt $" {
|
|
fail "complete (2) 'p b-'"
|
|
}
|
|
timeout { fail "(timeout) complete (2) 'p b-'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-'" }
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete (2) 'p b-'" }
|
|
timeout { fail "(timeout) complete (2) 'p b-'" }
|
|
}
|
|
|
|
send_gdb "file ${objdir}/Make\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "file ${objdir}/Makefile.*$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "\r\nA program is being debugged already\\. Kill it\\? \\(y or n\\) $"\
|
|
{ send_gdb "n\n"
|
|
gdb_expect {
|
|
-re "\r\nProgram not killed\\.\r\n$gdb_prompt $"\
|
|
{ pass "complete 'file Make'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file Make'"}
|
|
timeout {fail "(timeout) complete 'file Make'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file Make'"}
|
|
timeout {fail "(timeout) complete 'file Make'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file Make'" }
|
|
timeout { fail "(timeout) complete 'file Make'" }
|
|
}
|
|
|
|
|
|
send_gdb "file ${srcdir}/gdb.base/compl\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^file ${srcdir}/gdb.base/completion\\.exp $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "\r\nA program is being debugged already\\. Kill it\\? \\(y or n\\) $"
|
|
\
|
|
{ send_gdb "n\n"
|
|
gdb_expect {
|
|
-re "\r\nProgram not killed\\.\r\n$gdb_prompt $"\
|
|
{ pass "complete 'file gdb.base/compl'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file gdb.base/compl'"}
|
|
timeout {fail "(timeout) complete 'file gdb.base/compl'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file gdb.base/compl'"}
|
|
timeout {fail "(timeout) complete 'file gdb.base/compl'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'file gdb.base/compl'" }
|
|
timeout { fail "(timeout) complete 'file gdb.base/compl'" }
|
|
}
|
|
|
|
send_gdb "info func mark\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "^info func mark.*er$"\
|
|
{
|
|
send_gdb "\t\t"
|
|
sleep 3
|
|
gdb_expect {
|
|
-re "marker1.*$gdb_prompt info func marker$"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "All functions matching regular expression \"marker\":\r\n\r\nFile.*break.c:\r\nint marker1\\(\\);\r\nint marker2\\(int\\).*marker3\\(char.*char.*\\).*marker4\\(long int\\);\r\n$gdb_prompt $"\
|
|
{ pass "complete 'info func mar'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info func mar'"}
|
|
timeout {fail "(timeout) complete 'info func mar'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info func mar'"}
|
|
timeout {fail "(timeout) complete 'info func mar'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'info func mar'" }
|
|
timeout { fail "(timeout) complete 'info func mar'" }
|
|
}
|
|
|
|
|
|
send_gdb "set follow-fork-mode \t\t"
|
|
sleep 1
|
|
gdb_expect {
|
|
-re "ask.*child.*parent.*$gdb_prompt set follow-fork-mode $"\
|
|
{ send_gdb "\n"
|
|
gdb_expect {
|
|
-re "Requires an argument.*ask.*child.*parent.*$gdb_prompt $"\
|
|
{ pass "complete 'set follow-fork-mode'"}
|
|
-re "Ambiguous item \"\"\\..*$gdb_prompt $"\
|
|
{ pass "complete 'set follow-fork-mode'"}
|
|
-re ".*$gdb_prompt $" { fail "complete 'set follow-fork-mode'"}
|
|
timeout {fail "(timeout) complete 'set follow-fork-mode'"}
|
|
}
|
|
}
|
|
-re ".*$gdb_prompt $" { fail "complete 'set follow-fork-mode'" }
|
|
timeout { fail "(timeout) complete 'set follow-fork-mode'" }
|
|
}
|
|
|
|
# Restore globals modified in this test...
|
|
if [info exists old_inputrc] {
|
|
set env(INPUTRC) $old_inputrc
|
|
} else {
|
|
unset env(INPUTRC)
|
|
}
|
|
set timeout $oldtimeout1
|
|
|
|
return 0
|