Fix gdb.threads/thread-specific-bp.exp race
authorPedro Alves <palves@redhat.com>
Wed, 4 Mar 2015 17:23:55 +0000 (17:23 +0000)
committerPedro Alves <palves@redhat.com>
Wed, 4 Mar 2015 17:23:55 +0000 (17:23 +0000)
Gary stumbled on this:

 (gdb) PASS: gdb.threads/thread-specific-bp.exp: all-stop: continue to end
 info threads
   Id   Target Id         Frame
 * 1    Thread 0x7ffff7fdb700 (LWP 13717) "thread-specific" end () at /home/gary/work/archer/startswith/src/gdb/testsuite/gdb.threads/thread-specific-bp.c:29
 (gdb) FAIL: gdb.threads/thread-specific-bp.exp: all-stop: thread start is gone
 info breakpoint

The problem is that "...archer/startswith/src..." has a "start" in it,
which matches the too-lax regex in the test.

Rather than tweaking the regex, we can just remove the whole "info
threads", like we removed similar ones in other files -- GDB nowadays
does this implicitly already, so things should work without it.  Thus
removing this even improves testing here a bit.

gdb/testsuite/ChangeLog:
2015-03-04  Pedro Alves  <palves@redhat.com>

* gdb.threads/thread-specific-bp.exp: Delete "info threads" test.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/thread-specific-bp.exp

index 3f41178..6f97eda 100644 (file)
@@ -1,3 +1,7 @@
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
+       * gdb.threads/thread-specific-bp.exp: Delete "info threads" test.
+
 2015-03-04  Mark Kettenis  <kettenis@gnu.org>
 
        * gdb.base/foll-fork.exp: Enable on *-*-openbsd*.
index e167564..c4d8286 100644 (file)
@@ -91,19 +91,6 @@ proc check_thread_specific_breakpoint {mode} {
            "Breakpoint .* end .* at .*" \
            "continue to end"
 
-       # Force GDB to update the thread list.  Otherwise, depending
-       # on target, GDB may not realize that the start thread has
-       # exited and thus not remove the thread specific breakpoint.
-       set test "thread start is gone"
-       gdb_test_multiple "info threads" $test {
-           -re "\[0-9\]+.*start.*$gdb_prompt $" {
-               fail $test
-           }
-           -re "$gdb_prompt $" {
-               pass $test
-           }
-       }
-
        set test "thread-specific breakpoint was deleted"
        gdb_test_multiple "info breakpoint" $test {
            -re "thread $start_thre\n$gdb_prompt $" {