X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.threads%2Fthreadapply.exp;h=7ec3f6765d3b4ee1ded61d625304f4960a12db5e;hb=c5a570810022466eaa5e077cd1b8aa00d74706f1;hp=61fbebea05b2e47a71da99aaadd3e856acc54035;hpb=6aba47ca06d9150c6196a374b745c2711b46e045;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.threads/threadapply.exp b/gdb/testsuite/gdb.threads/threadapply.exp index 61fbebea05..7ec3f6765d 100644 --- a/gdb/testsuite/gdb.threads/threadapply.exp +++ b/gdb/testsuite/gdb.threads/threadapply.exp @@ -1,10 +1,10 @@ # This testcase is part of GDB, the GNU debugger. -# Copyright 2004, 2007 Free Software Foundation, Inc. +# Copyright 2004, 2007-2012 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, @@ -13,15 +13,12 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this program. If not, see . if $tracelevel { strace $tracelevel } -set prms_id 0 -set bug_id 0 # This test verifies that a macro using backtrace can be applied to all threads # and will continue for each thread even though an error may occur in @@ -49,7 +46,7 @@ if ![runto_main] then { # Break after all threads have been started. set break_line [gdb_get_line_number "Break here"] -gdb_test "b $break_line" "" +gdb_test "b $break_line" ".*" gdb_test "continue" gdb_test_multiple "define backthread" "defining macro" { @@ -66,6 +63,12 @@ gdb_test_multiple "define backthread" "defining macro" { # Cause backtraces to fail by setting a limit. This allows us to # verify that the macro can get past the backtrace error and perform # subsequent commands. -gdb_test "set backtrace limit 3" "" -gdb_test "thread apply all backthread" "Thread ..*\\\$1 = 0x14.*Thread ..*\\\$2 = 0x14.*Thread ..*\\\$3 = 0x14.*Thread ..*\\\$4 = 0x14.*Thread ..*\\\$5 = 0x14.*Thread ..*\\\$. = 0x14" +gdb_test_no_output "set backtrace limit 3" +gdb_test "thread apply all backthread" "Thread ..*\\\$\[0-9]+ = 0x14.*Thread ..*\\\$\[0-9]+ = 0x14.*Thread ..*\\\$\[0-9]+ = 0x14.*Thread ..*\\\$\[0-9]+ = 0x14.*Thread ..*\\\$\[0-9]+ = 0x14.*Thread ..*\\\$\[0-9]+ = 0x14" +# Go into the thread_function to check that a simple "thread apply" +# does not change the selected frame. +gdb_test "step" "thread_function.*" "step to the thread_function" +gdb_test "up" ".*in main.*" "go up in the stack frame" +gdb_test "thread apply all print 1" "Thread ..*\\\$\[0-9]+ = 1.*Thread ..*\\\$\[0-9]+ = 1.*Thread ..*\\\$\[0-9]+ = 1.*Thread ..*\\\$\[0-9]+ = 1.*Thread ..*\\\$\[0-9]+ = 1.*Thread ..*\\\$\[0-9]+ = 1" "run a simple print command on all threads" +gdb_test "down" "#0.*thread_function.*" "go down and check selected frame"