* linux-nat.c (count_events_callback, select_event_lwp_callback): Only
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.threads / schedlock.exp
index f6b319cd7e8c71d04e5a90bdba092f153056fcec..8faee9fdb87bb27810fa443d109b38b4aad2a47f 100644 (file)
@@ -45,14 +45,25 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab
 proc get_args { } {
   global list_count
   global gdb_prompt
+  global NUM
+
+  set pattern "(\[0-9\]+)"
+  for {set i 1} {[expr $i < $NUM]} {incr i} {
+    append pattern ", (\[0-9\]+)"
+  }
 
   send_gdb "print args\n"
   gdb_expect {
-    -re "\\\$\[0-9\]+ = {(\[0-9\]+), (\[0-9\]+)}.*$gdb_prompt"
+    -re "\\\$\[0-9\]+ = {$pattern}.*$gdb_prompt"
       {
        set list_count [expr $list_count + 1]
        pass "listed args ($list_count)"
-       return [list $expect_out(1,string) $expect_out(2,string)]
+
+       set result ""
+       for {set i 1} {[expr $i <= $NUM]} {incr i} {
+         lappend result $expect_out($i,string)
+       }
+       return $result
       }
     -re "$gdb_prompt"
       {
@@ -202,16 +213,16 @@ my_continue "initial"
 
 set cont_args [get_args]
 
-set ok 1
+set bad 0
 for {set i 0} {[expr $i < $NUM]} {set i [expr $i + 1]} {
   if {[lindex $start_args $i] == [lindex $cont_args $i]} {
-    set ok 0
+    incr bad
   }
 }
-if { $ok } {
+if { $bad == 0 } {
   pass "all threads alive"
 } else {
-  fail "all threads alive"
+  fail "all threads alive ($bad/$NUM did not run)"
 }
 
 # We can't change threads, unfortunately, in current GDB.  Use
This page took 0.024545 seconds and 4 git commands to generate.