2001-05-24 Michael Snyder <msnyder@redhat.com>
+ * gdb.threads/linux-dp.exp: Remove assumptions about thread ordering.
+ Don't require that the main thread and the manager thread are the
+ first in the list.
+
* gdb.threads/pthreads.exp (test_startup): Relax test for thread
debugging. If test fails, issue an "unsupported" not a "fail".
### Return true if the thread had a stack which was not only
### acceptable, but interesting. SEEN should be an array in which
### SEEN(N) exists iff we have found philosopher number N before.
+
+set main_seen 0
+set manager_seen 0
+
proc check_philosopher_stack {thread seen_name} {
global gdb_prompt
upvar $seen_name seen
+ global main_seen
+ global manager_seen
set name "philosopher is distinct: $thread"
set interesting 0
## Maybe the thread hasn't started yet.
pass $name
}
+ -re ".* in main \\(.*$gdb_prompt $" {
+ if {$main_seen == 1} {
+ fail "main is distinct: $thread"
+ } else {
+ set main_seen 1
+ pass "main is distinct: $thread"
+ }
+ set interesting 1
+ }
+ -re ".* in __pthread_manager \\(.*$gdb_prompt $" {
+ if {$manager_seen == 1} {
+ fail "manager thread is distinct: $thread"
+ } else {
+ set manager_seen 1
+ pass "manager thread is distinct: $thread"
+ }
+ set interesting 1
+ }
-re " in \\?\\?.*\r\n$gdb_prompt $" {
## Sometimes we can't get a backtrace. I'm going to call
## this a pass, since we do verify that at least one
set any_interesting 0
array set seen {}
-for {set i 3} {$i <= 7} {incr i} {
+for {set i 1} {$i <= 7} {incr i} {
if [check_philosopher_stack $i seen] {
set any_interesting 1
}