This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] gdb.base/commands.exp: fix racy test
- From: Marek Polacek <mpolacek at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 13 Apr 2011 09:58:15 +0200
- Subject: [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