This is the mail archive of the gdb-patches@sources.redhat.com 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: [rfa/testsuite/threads] ping: manythreads.exp


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





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