This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]