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]

Re: [patch] testsuite: Fix gdb.base/completion.exp for check// subdirectories.


On Tue, 30 Jun 2009 23:21:17 +0200, Tom Tromey wrote:
> >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> 
> Jan> currently when you run gdb.base/completion.exp by check//unix/-m64 etc. you
> Jan> get many FAILs due to initial failing:
> Jan> 	dir ../testsu^GiteFAIL: gdb.base/completion.exp: directory completion (timeout)
> 
> Jan> as gdb/testsuite* has also the matches like `gdb/testsuite.unix.-m64'.
> 
> Thanks, this is ok.

During a retest found out the original patch did cause a regression when run
in the testsuite/ directory this time.  Changed it this way:

-set uniquedir ${objdir}/${subdir}/completion-uNiQuEdIr
	->
+# Do not use the `completion' start here as it would conflict with the
+# testcase (complete 'file ./gdb.base/complet') expectations.
+set uniquedir ${objdir}/${subdir}/compl-uNiQuEdIr

Checked-in now with this change.


Thanks,
Jan


http://sourceware.org/ml/gdb-cvs/2009-06/msg00207.html

--- src/gdb/testsuite/ChangeLog	2009/06/30 21:23:38	1.1908
+++ src/gdb/testsuite/ChangeLog	2009/06/30 21:33:19	1.1909
@@ -1,5 +1,14 @@
 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.
+
+2009-06-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
 	Fix `make check//%' target after `make check' has been ran.
 	* Makefile.in (TEST_TARGETS): Remove the %/.dir dependency.  Add
 	a mkdir call.
--- src/gdb/testsuite/gdb.base/completion.exp	2009/03/25 10:52:22	1.37
+++ src/gdb/testsuite/gdb.base/completion.exp	2009/06/30 21:33:20	1.38
@@ -735,25 +735,33 @@
          "cd to \${srcdir}"
 
 
-# GDB used to fail adding / on directories, on the first try only
-send_gdb "dir ../testsu\t"
+# GDB used to fail adding / on directories, on the first try only.
+# Do not use the `completion' start here as it would conflict with the
+# testcase (complete 'file ./gdb.base/complet') expectations.
+set uniquedir ${objdir}/${subdir}/compl-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 +769,8 @@
 	}
 }
 
-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]