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] gdb.base/commands.exp: fix racy test


Here is a first attempt to fix some racy tests.  The problem is with
the ".*" part which just slurps everything, this clearly shows when we
use preloaded read() which returns just one char at a time.  I've also
split gdb_test_multiple to avoid unnecessary exp_continue. Ok?

Signed-off-by: Marek Polacek <mpolacek@redhat.com>
---
 gdb/testsuite/ChangeLog             |    4 ++++
 gdb/testsuite/gdb.base/commands.exp |   12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 9ae251b..7874b8c 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-04-13  Marek Polacek <mpolacek@redhat.com>
+
+	* gdb.base/commands.exp (redefine_backtrace_test): Fix race.
+
 2011-04-04  Tom Tromey  <tromey@redhat.com>
 
 	* gdb.cp/maint.exp (test_help): Update.
diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp
index 3bff053..a0827c6 100644
--- a/gdb/testsuite/gdb.base/commands.exp
+++ b/gdb/testsuite/gdb.base/commands.exp
@@ -704,18 +704,22 @@ proc redefine_backtrace_test {} {
     global gdb_prompt
 
     gdb_test_multiple "define backtrace" "define backtrace" {
-	-re "Really redefine built-in.*$" {
+	-re "Really redefine built-in command \"backtrace\"\\? \\(y or n\\) $"  {
 	    send_gdb "y\n"
-	    exp_continue
 	}
+    }
 
-	-re "End with"  {
+    # We send nothing this time.
+    gdb_test_multiple "" "expect response to define backtrace" {
+	-re "End with a line saying just \"end\".\r\n>$"  {
 	    pass "define backtrace in redefine_backtrace_test"
 	}
-        default {
+
+	default {
 	    fail "(timeout or eof) define backtrace in redefine_backtrace_test"
 	}
     }
+
     gdb_test "echo hibob\\n\nend" \
 	    "" \
 	    "enter commands in redefine_backtrace_test"
-- 
1.7.3.4


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