This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa/testsuite/threads] ping: manythreads.exp
- From: Michael Snyder <msnyder at redhat dot com>
- To: Michael Elizabeth Chastain <mec dot gnu at mindspring dot com>
- Cc: jjohnstn at redhat dot com, gdb-patches at sources dot redhat dot com
- Date: Thu, 03 Jun 2004 18:07:27 +0000
- Subject: Re: [rfa/testsuite/threads] ping: manythreads.exp
- Organization: Red Hat, Inc.
- References: <20040602173434.E638E4B104@berman.michael-chastain.com>
Michael Elizabeth Chastain wrote:
This patch fixes a problem in gdb.threads/manythreads.exp.
I've submitted this patch before on 2004-05-07 and 2004-05-14.
manythreads.exp uses asynchronous TCL blocks to send "^C" at a later
time, similar to the shell code: "(sleep 1 ; send ^C) &". If the tests
fail -- and they do sometimes fail -- manythreads.exp leaves these
asynchronous blocks in the background, where they ruin the unlucky next
test, which happens to be gdb.threads/print-threads.exp.
This patch changes the sleeps from asynchronous to synchronous so that
there is no cleanup to do: "(sleep 1 ; send ^C)".
I tested this (again) on native i686-pc-linux-gnu, red hat 8.0, group of 6
test runs before and after.
OK to commit?
Michael C
So... this means it will unconditionally wait, right?
Can I assume that "after 1000" means milliseconds, not seconds?
That's my only concern, that if it fails for some reason, it
will block for a long time. If that's not the case, then the
change is ok with me (if it's ok with Jeff).
Michael, I notice that the same idiom is used in pthreads.exp;
do you think your change would also be appropriate there, and
if so, would you mind making it?
thanks
2004-06-02 Michael Chastain <mec.gnu@mindspring.com>
Fix PR gdb/1636.
* gdb.threads/manythreads.exp: Change asynchronous 'after'
calls to synchronous.
Index: gdb.threads/manythreads.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/manythreads.exp,v
retrieving revision 1.1
diff -c -3 -p -r1.1 manythreads.exp
*** gdb.threads/manythreads.exp 22 Apr 2004 22:19:40 -0000 1.1
--- gdb.threads/manythreads.exp 7 May 2004 12:41:39 -0000
*************** gdb_test_multiple "continue" "first cont
*** 60,66 ****
}
# Send a Ctrl-C and verify that we can do info threads and continue
! after 1000 {send_gdb "\003"}
set message "stop threads 1"
gdb_test_multiple "" "stop threads 1" {
-re "\\\[New \[^\]\]*\\\]\r\n" {
--- 60,67 ----
}
# Send a Ctrl-C and verify that we can do info threads and continue
! after 1000
! send_gdb "\003"
set message "stop threads 1"
gdb_test_multiple "" "stop threads 1" {
-re "\\\[New \[^\]\]*\\\]\r\n" {
*************** gdb_test_multiple "continue" "second con
*** 93,99 ****
}
# Send another Ctrl-C and verify that we can do info threads and quit
! after 1000 {send_gdb "\003"}
set message "stop threads 2"
gdb_test_multiple "" "stop threads 2" {
-re "\\\[New \[^\]\]*\\\]\r\n" {
--- 94,101 ----
}
# Send another Ctrl-C and verify that we can do info threads and quit
! after 1000
! send_gdb "\003"
set message "stop threads 2"
gdb_test_multiple "" "stop threads 2" {
-re "\\\[New \[^\]\]*\\\]\r\n" {