This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] Fix testsuite completion.exp test for builddir==srcdir
- From: Fred Fish <fnf at fred dot ninemoons dot com>
- To: gdb-patches at sources dot redhat dot com
- Cc: fnf at redhat dot com
- Date: Wed, 1 May 2002 07:48:32 -0700 (MST)
- Subject: [RFA] Fix testsuite completion.exp test for builddir==srcdir
- Reply-to: fnf at redhat dot com
If you configure and build in the source tree, the completion.exp
test produces:
FAIL: gdb.base/completion.exp: (timeout) complete 'file ./Make'
ERROR: Got interactive prompt.
UNRESOLVED: gdb.base/completion.exp: cd to ${srcdir}
FAIL: gdb.base/completion.exp: (timeout) complete 'file ./gdb.base/compl'
FAIL: gdb.base/completion.exp: (timeout) complete 'info func mar'
FAIL: gdb.base/completion.exp: (timeout) complete 'set follow-fork-mode'
due to having more than one file that completes "./Make". This patch
fixes that.
On a related note, it is probably a bad idea to have these tests depend
upon details of the source tree like this. A better long term solution
would be to create a temporary directory, populate it with some known
names, and do completions there. I should probably add this comment to
the completion.exp header if this patch is approved.
-Fred
2002-05-01 Fred Fish <fnf@redhat.com>
* gdb.base/completion.exp: Handle completions of "./Make" for
more than one completion possibility, as is the case when we
build and test in the source tree.
Index: gdb.base/completion.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/completion.exp,v
retrieving revision 1.11
diff -c -p -r1.11 completion.exp
*** gdb.base/completion.exp 13 Jan 2002 22:13:06 -0000 1.11
--- gdb.base/completion.exp 1 May 2002 14:34:15 -0000
*************** gdb_expect {
*** 631,642 ****
#
# So, we avoid long lines. We `cd' to ${objdir} first, and then do
# the completion relative to the current directory.
gdb_test "cd ${objdir}" "Working directory ${objdir}.*" "cd to \${objdir}"
send_gdb "file ./Make\t"
sleep 1
gdb_expect {
! -re "file ./Makefile.*$"\
{ send_gdb "\n"
gdb_expect {
-re "\r\nA program is being debugged already\\. Kill it\\? \\(y or n\\) $"\
--- 631,645 ----
#
# So, we avoid long lines. We `cd' to ${objdir} first, and then do
# the completion relative to the current directory.
+ #
+ # Note that if we are building in the source tree, then there will be
+ # more than one completion for ./Make, so we need to handle that also.
gdb_test "cd ${objdir}" "Working directory ${objdir}.*" "cd to \${objdir}"
send_gdb "file ./Make\t"
sleep 1
gdb_expect {
! -re "^file ./Make(\\\x07|)file.*$"\
{ send_gdb "\n"
gdb_expect {
-re "\r\nA program is being debugged already\\. Kill it\\? \\(y or n\\) $"\