[pushed] Fix gdb.threads/thread-specific-bp.exp race

Message ID 1425497614-16522-1-git-send-email-palves@redhat.com
State Committed
Headers

Commit Message

Pedro Alves March 4, 2015, 7:33 p.m. UTC
  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                          |  4 ++++
 gdb/testsuite/gdb.threads/thread-specific-bp.exp | 13 -------------
 2 files changed, 4 insertions(+), 13 deletions(-)
  

Comments

Gary Benson March 5, 2015, 9:22 a.m. UTC | #1
Pedro Alves wrote:
> 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.

Thanks for fixing this Pedro.

Cheers,
Gary
  

Patch

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3f41178..6f97eda 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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*.
diff --git a/gdb/testsuite/gdb.threads/thread-specific-bp.exp b/gdb/testsuite/gdb.threads/thread-specific-bp.exp
index e167564..c4d8286 100644
--- a/gdb/testsuite/gdb.threads/thread-specific-bp.exp
+++ b/gdb/testsuite/gdb.threads/thread-specific-bp.exp
@@ -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 $" {