X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.base%2Fcompletion.exp;h=fbd859986674297562bea6cdf7adbae573caf4b2;hb=d77f58beee3dbdfc260b5cf672a565f686b996f7;hp=879743160f6f9cd695f691bd52a25a5eacba3c26;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp index 879743160f..fbd8599866 100644 --- a/gdb/testsuite/gdb.base/completion.exp +++ b/gdb/testsuite/gdb.base/completion.exp @@ -1,4 +1,4 @@ -# Copyright 1998, 1999, 2002, 2003, 2004, 2007, 2008, 2009 +# Copyright 1998, 1999, 2002, 2003, 2004, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -85,18 +85,6 @@ if [get_compiler_info ${binfile}] { 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} @@ -223,7 +211,7 @@ gdb_expect { -re "^info t foo\\\x07$"\ { send_gdb "\n" gdb_expect { - -re "Ambiguous info command \"t foo\": target, tasks, terminal, threads, tp, tracepoints, types\\..*$gdb_prompt $"\ + -re "Ambiguous info command \"t foo\": target, tasks, terminal, threads, tp, tracepoints, tvariables, types\\..*$gdb_prompt $"\ { pass "complete 'info t foo'"} -re ".*$gdb_prompt $" { fail "complete 'info t foo'"} timeout {fail "(timeout) complete 'info t foo'"} @@ -239,7 +227,7 @@ gdb_expect { -re "^info t\\\x07$"\ { send_gdb "\n" gdb_expect { - -re "Ambiguous info command \"t\": target, tasks, terminal, threads, tp, tracepoints, types\\.. + -re "Ambiguous info command \"t\": target, tasks, terminal, threads, tp, tracepoints, tvariables, types\\.. *$gdb_prompt $"\ { pass "complete 'info t'"} -re ".*$gdb_prompt $" { fail "complete 'info t'"} @@ -257,7 +245,7 @@ gdb_expect { -re "^info t \\\x07$"\ { send_gdb "\n" gdb_expect { - -re "Ambiguous info command \"t \": target, tasks, terminal, threads, tp, tracepoints, types\\.. + -re "Ambiguous info command \"t \": target, tasks, terminal, threads, tp, tracepoints, tvariables, types\\.. *$gdb_prompt $"\ { pass "complete 'info t '"} -re ".*$gdb_prompt $" { fail "complete 'info t '"} @@ -366,7 +354,7 @@ gdb_expect { -re "^help info watchpoints $"\ { send_gdb "\n" gdb_expect { - -re "Synonym for .*\r\n.*$gdb_prompt $"\ + -re "Status of watchpoints, .*\r\n.*$gdb_prompt $"\ { pass "complete help info wat" } -re ".*$gdb_prompt $" { fail "complete help info wat"} timeout {fail "(timeout) complete help info wat"} @@ -734,6 +722,42 @@ gdb_test "cd ${fullsrcdir}" \ "Working directory [string_to_regexp ${fullsrcdir}].*" \ "cd to \${srcdir}" + +# GDB used to fail adding / on directories, on the first try only. +set uniquedir ../testsuite/gdb.base/comp-dir +set escapeduniquedir [string_to_regexp ${uniquedir}] +set uniquesu subdi +set uniquesub ${uniquesu}r +set escapeuniquesub [string_to_regexp ${uniquesub}] +send_gdb "dir ${uniquedir}\t" +gdb_expect { + -re "${escapeduniquedir}/" { + pass "directory completion" + send_gdb "${uniquesu}\t" + } + -re "${escapeduniquedir} $" { + fail "directory completion (old gdb bug)" + send_gdb "\b/${uniquesu}\t" + } + default { + fail "directory completion (timeout)" + send_gdb "\ndir ${uniquedir}/${uniquesu}\t" + } +} + +gdb_expect { + -re "${escapeuniquesub}/$" { + pass "directory completion 2" + } + timeout { + fail "directory completion 2" + } +} + +# Empty COMMAND sends no newline while " " sends the newline we need. +gdb_test " " "Source directories searched: .*" "Glob remaining of directory test" + + send_gdb "complete file ./gdb.base/compl\n" sleep 1 gdb_expect { @@ -772,7 +796,7 @@ gdb_expect { -re "marker1.*$gdb_prompt info func marker$"\ { send_gdb "\n" gdb_expect { - -re "All functions matching regular expression \"marker\":.*File.*break1.c:\r\nint marker1\\((void|)\\);\r\nint marker2\\(int\\).*marker3\\(char.*char.*\\).*marker4\\(long int\\);.*$gdb_prompt $"\ + -re "All functions matching regular expression \"marker\":.*File.*break1.c:\r\nint marker1\\((void|)\\);\r\nint marker2\\(int\\).*marker3\\(char.*char.*\\).*marker4\\(long( int)?\\);.*$gdb_prompt $"\ { pass "complete 'info func marke'"} -re ".*$gdb_prompt $" { fail "complete 'info func marke'"} timeout {fail "(timeout) complete 'info func marke'"} @@ -824,11 +848,6 @@ gdb_expect { } # 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