This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[patch] testsuite: Fix gdb.base/completion.exp for check// subdirectories.
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Tue, 30 Jun 2009 21:07:07 +0200
- Subject: [patch] testsuite: Fix gdb.base/completion.exp for check// subdirectories.
Hi,
currently when you run gdb.base/completion.exp by check//unix/-m64 etc. you
get many FAILs due to initial failing:
dir ../testsu^GiteFAIL: gdb.base/completion.exp: directory completion (timeout)
as gdb/testsuite* has also the matches like `gdb/testsuite.unix.-m64'.
Thanks,
Jan
PASS: gdb.base/completion.exp: complete 'p values[0] . a'
PASS: gdb.base/completion.exp: complete 'p &values[0] -> a'
PASS: gdb.base/completion.exp: cd to ${srcdir}
-FAIL: gdb.base/completion.exp: directory completion (timeout)
-FAIL: gdb.base/completion.exp: directory completion 2
+PASS: gdb.base/completion.exp: directory completion
+PASS: gdb.base/completion.exp: directory completion 2
PASS: gdb.base/completion.exp: Glob remaining of directory test
-FAIL: gdb.base/completion.exp: complete-command 'file ./gdb.base/compl'
-FAIL: gdb.base/completion.exp: complete 'file ./gdb.base/complet'
-FAIL: gdb.base/completion.exp: (timeout) complete 'info func marke'
-FAIL: gdb.base/completion.exp: (timeout) complete 'set follow-fork-mode'
-FAIL: gdb.base/completion.exp: (timeout) Completing non-existing component
-FAIL: gdb.base/completion.exp: (timeout) Completing non-existing component #2
+PASS: gdb.base/completion.exp: complete-command 'file ./gdb.base/compl'
+PASS: gdb.base/completion.exp: complete 'file ./gdb.base/complet'
+PASS: gdb.base/completion.exp: complete 'info func marke'
+PASS: gdb.base/completion.exp: complete 'set follow-fork-mode'
+PASS: gdb.base/completion.exp: Completing non-existing component
+PASS: gdb.base/completion.exp: Completing non-existing component #2
gdb/testsuite/
2009-06-30 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/completion.exp (directory completion): Create the directory.
New variables uniquedir, escapeduniquedir, uniquesu, uniquesub,
escapeuniquesub.
(directory completion 2): Expect now ${escapeuniquesub}.
(Glob remaining of directory test): Remove one excessive newline.
Expect the real output.
--- a/gdb/testsuite/gdb.base/completion.exp
+++ b/gdb/testsuite/gdb.base/completion.exp
@@ -736,24 +736,30 @@ gdb_test "cd ${fullsrcdir}" \
# GDB used to fail adding / on directories, on the first try only
-send_gdb "dir ../testsu\t"
+set uniquedir ${objdir}/${subdir}/completion-uNiQuEdIr
+set escapeduniquedir [string_to_regexp ${uniquedir}]
+set uniquesu subdi
+set uniquesub ${uniquesu}r
+set escapeuniquesub [string_to_regexp ${uniquesub}]
+file mkdir ${uniquedir}/${uniquesub}
+send_gdb "dir ${uniquedir}\t"
gdb_expect {
- -re "../testsuite/$" {
+ -re "${escapeduniquedir}/" {
pass "directory completion"
- send_gdb "gdb.bas\t"
+ send_gdb "${uniquesu}\t"
}
- -re "../testsuite $" {
+ -re "${escapeduniquedir} $" {
fail "directory completion (old gdb bug)"
- send_gdb "\b/gdb.bas\t"
+ send_gdb "\b/${uniquesu}\t"
}
default {
fail "directory completion (timeout)"
- send_gdb "\ndir ../testsuite/gdb.bas\t"
+ send_gdb "\ndir ${uniquedir}/${uniquesu}\t"
}
}
gdb_expect {
- -re "gdb.base/$" {
+ -re "${escapeuniquesub}/$" {
pass "directory completion 2"
}
timeout {
@@ -761,7 +767,8 @@ gdb_expect {
}
}
-gdb_test "\n" "" "Glob remaining of directory test"
+# 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"