Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: gdb/testsuite/gdb.base/annota1.exp

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/testsuite/gdb.base/annota1.c ('k') | gdb/testsuite/gdb.base/annota3.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 1999-2012 Free Software Foundation, Inc. 1 # Copyright 1999-2012 Free Software Foundation, Inc.
2 2
3 # This program is free software; you can redistribute it and/or modify 3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by 4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or 5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version. 6 # (at your option) any later version.
7 # 7 #
8 # This program is distributed in the hope that it will be useful, 8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details. 11 # GNU General Public License for more details.
12 # 12 #
13 # You should have received a copy of the GNU General Public License 13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. 14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 15
16 # This file was written by Elena Zannoni (ezannoni@cygnus.com) 16 # This file was written by Elena Zannoni (ezannoni@cygnus.com)
17 17
18 if $tracelevel then {
19 strace $tracelevel
20 }
21
22 18
23 # are we on a target board? If so, don't run these tests. 19 # are we on a target board? If so, don't run these tests.
24 # note: this is necessary because we cannot use runto_main (which would 20 # note: this is necessary because we cannot use runto_main (which would
25 # work for remote targets too) because of the different prompt we get 21 # work for remote targets too) because of the different prompt we get
26 # when using annotation level 2. 22 # when using annotation level 2.
27 # 23 #
28 if [is_remote target] then { 24 if [is_remote target] then {
29 return 0 25 return 0
30 } 26 }
31 27
(...skipping 10 matching lines...) Expand all
42 untested annota1.exp 38 untested annota1.exp
43 return -1 39 return -1
44 } 40 }
45 41
46 42
47 gdb_exit 43 gdb_exit
48 gdb_start 44 gdb_start
49 gdb_reinitialize_dir $srcdir/$subdir 45 gdb_reinitialize_dir $srcdir/$subdir
50 gdb_load ${binfile} 46 gdb_load ${binfile}
51 47
52 if [target_info exists gdb_stub] {
53 gdb_step_for_stub;
54 }
55
56 #
57 # the line at which break main will put the breakpoint
58 #
59 set main_line 32
60
61 # The commands we test here produce many lines of output; disable "press 48 # The commands we test here produce many lines of output; disable "press
62 # <return> to continue" prompts. 49 # <return> to continue" prompts.
63 gdb_test_no_output "set height 0" 50 gdb_test_no_output "set height 0"
64 51
65 # 52 #
66 # break at main 53 # break at main
67 # 54 #
55
56 set main_line [gdb_get_line_number "break main"]
57
68 gdb_test "break main" \ 58 gdb_test "break main" \
69 "Breakpoint.*at.* file .*$srcfile, line.*" \ 59 "Breakpoint.*at.* file .*$srcfile, line $main_line\\." \
70 "breakpoint main" 60 "breakpoint main"
71 61
72 62
73 # 63 #
74 # NOTE: this prompt is OK only when the annotation level is > 1 64 # NOTE: this prompt is OK only when the annotation level is > 1
75 # NOTE: When this prompt is in use the gdb_test procedure cannot be used because 65 # NOTE: When this prompt is in use the gdb_test procedure cannot be used because
76 # it assumes that the last char after the gdb_prompt is a white space. This is n ot 66 # it assumes that the last char after the gdb_prompt is a white space. This is n ot
77 # true with this annotated prompt. So we must use send_gdb and gdb_expect. 67 # true with this annotated prompt. So we must use send_gdb and gdb_expect.
78 # 68 #
79 69
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 # annotate-frame-source-file-end 126 # annotate-frame-source-file-end
137 # annotate-frame-source-line 127 # annotate-frame-source-line
138 # annotate-frame-source-end 128 # annotate-frame-source-end
139 # annotate-source 129 # annotate-source
140 # annotate-frame-end 130 # annotate-frame-end
141 # annotate-stopped 131 # annotate-stopped
142 # 132 #
143 #exp_internal 1 133 #exp_internal 1
144 set binexp [string_to_regexp $binfile] 134 set binexp [string_to_regexp $binfile]
145 gdb_test_multiple "run" "run until main breakpoint" { 135 gdb_test_multiple "run" "run until main breakpoint" {
146 -re "\r\n\032\032post-prompt\r\nStarting program: $binexp \(\(\r\n\r\n\032\0 32frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)+\r\n\r\n\032\032sta rting\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\ )\)*\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\) \r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota1 .c\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_l ine\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:. *:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped.*$gdb_prompt$" { 136 -re "\r\n\032\032post-prompt\r\nStarting program: $binexp \(\r\nwarning: Ski pping \[^\r\n\]+ .gdb_index section in \[^\r\n\]+\r\nDo \"set use-deprecated-ind ex-sections on\" before the file is read\r\nto use the section anyway\\.\)?\(\(\ r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r \n\032\032starting\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpo ints-invalid\)\)*\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032f rame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-ar gs\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file \r\n.*annota1.c\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-li ne\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile :$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped.*$gdb_pr ompt$" {
147 pass "run until main breakpoint" 137 pass "run until main breakpoint"
148 } 138 }
149 } 139 }
150 #exp_internal 0 140 #exp_internal 0
151 #exit 0 141 #exit 0
152 142
153 # 143 #
154 # Let's do a next, to get to a point where the array is initialized 144 # Let's do a next, to get to a point where the array is initialized
155 # We don't care about the annotated output for this operation, it is the same as 145 # We don't care about the annotated output for this operation, it is the same as
156 # the one produced by run above 146 # the one produced by run above
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 gdb_test_multiple "delete 3" "delete bp 3" { 293 gdb_test_multiple "delete 3" "delete bp 3" {
304 -re "\r\n\032\032post-prompt\r\n$gdb_prompt$" { 294 -re "\r\n\032\032post-prompt\r\n$gdb_prompt$" {
305 pass "delete bp 3" 295 pass "delete bp 3"
306 } 296 }
307 } 297 }
308 298
309 # 299 #
310 # break at main, after value is initialized. This is in preparation 300 # break at main, after value is initialized. This is in preparation
311 # to test the annotate output for the display command. 301 # to test the annotate output for the display command.
312 # 302 #
313 gdb_test_multiple "break main" "break at 28" { 303 gdb_test_multiple "break main" "break at main" {
314 -re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file ${ escapedsrcfile}, line $main_line.*$gdb_prompt$" { 304 -re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file ${ escapedsrcfile}, line $main_line.*$gdb_prompt$" {
315 » pass "break at 28" 305 » pass "break at main"
316 } 306 }
317 -re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file .* ${srcfile}, line $main_line.*$gdb_prompt$" { 307 -re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file .* ${srcfile}, line $main_line.*$gdb_prompt$" {
318 setup_xfail "*-*-*" 1270 308 setup_xfail "*-*-*" 1270
319 » fail "break at 28" 309 » fail "break at main"
320 } 310 }
321 } 311 }
322 312
323 # 313 #
324 # display the value; test: 314 # display the value; test:
325 # annotate-display-begin 315 # annotate-display-begin
326 # annotate-display-number-end 316 # annotate-display-number-end
327 # annotate-display-format 317 # annotate-display-format
328 # annotate-display-expression 318 # annotate-display-expression
329 # annotate-display-expression-end 319 # annotate-display-expression-end
(...skipping 22 matching lines...) Expand all
352 } 342 }
353 } 343 }
354 -re ".*$gdb_prompt$" { fail "re-run" } 344 -re ".*$gdb_prompt$" { fail "re-run" }
355 timeout { fail "re-run (timeout)" } 345 timeout { fail "re-run (timeout)" }
356 } 346 }
357 347
358 # 348 #
359 # Test that breakpoints-invalid is issued once and only once for 349 # Test that breakpoints-invalid is issued once and only once for
360 # breakpoint ignore count changes, after annotation stopped. 350 # breakpoint ignore count changes, after annotation stopped.
361 # 351 #
362 gdb_test_multiple "break 46" "break at 46" { 352
363 -re "Breakpoint 5 at $hex: file .*$srcfile, line 46.*$gdb_prompt$" { 353 set value_inc_line [gdb_get_line_number "increment value"]
364 » pass "break at 46" 354
355 gdb_test_multiple "break $value_inc_line" "break at value++" {
356 -re "Breakpoint 5 at $hex: file .*$srcfile, line $value_inc_line.*$gdb_promp t$" {
357 » pass "break at value++"
365 } 358 }
366 } 359 }
367 360
368 gdb_test_multiple "ignore 5 4" "ignore 5 4" { 361 gdb_test_multiple "ignore 5 4" "ignore 5 4" {
369 -re "Will ignore next 4 crossings of breakpoint 5.*$gdb_prompt$" { 362 -re "Will ignore next 4 crossings of breakpoint 5.*$gdb_prompt$" {
370 pass "ignore 5 4" 363 pass "ignore 5 4"
371 } 364 }
372 } 365 }
373 366
374 gdb_test_multiple "continue" "annotate ignore count change" { 367 gdb_test_multiple "continue" "annotate ignore count change" {
375 -re ".*$srcfile:46:.*\032\032stopped\r\n\r\n\032\032breakpoints-invalid\r\n$ gdb_prompt$" { 368 -re ".*$srcfile:$value_inc_line:.*\032\032stopped\r\n\r\n\032\032breakpoints -invalid\r\n$gdb_prompt$" {
376 pass "annotate ignore count change" 369 pass "annotate ignore count change"
377 } 370 }
378 } 371 }
379 372
380 # check that ignore command is working, or the above can provide 373 # check that ignore command is working, or the above can provide
381 # misleading assurance ... 374 # misleading assurance ...
382 375
383 gdb_test_multiple "next" "next to exit loop" { 376 gdb_test_multiple "next" "next to exit loop" {
384 -re "source .*annota1.c.*$gdb_prompt$" { 377 -re "source .*annota1.c.*$gdb_prompt$" {
385 } 378 }
386 } 379 }
387 380
381 set after_loop_line [gdb_get_line_number "after loop"]
382
388 gdb_test_multiple "next" "breakpoint ignore count" { 383 gdb_test_multiple "next" "breakpoint ignore count" {
389 -re ".*$srcfile:49:.*$gdb_prompt$" { 384 -re ".*$srcfile:$after_loop_line:.*$gdb_prompt$" {
390 pass "breakpoint ignore count" 385 pass "breakpoint ignore count"
391 } 386 }
392 } 387 }
393 388
394 # Get the inferior's PID for later. 389 # Get the inferior's PID for later.
395 390
396 set test "get inferior pid" 391 set test "get inferior pid"
397 set pid -1 392 set pid -1
398 gdb_test_multiple "info inferior 1" "$test" { 393 gdb_test_multiple "info inferior 1" "$test" {
399 -re "process (\[0-9\]*).*$gdb_prompt$" { 394 -re "process (\[0-9\]*).*$gdb_prompt$" {
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 pass "$test (not dumped)" 440 pass "$test (not dumped)"
446 } 441 }
447 442
448 proc thread_test {} { 443 proc thread_test {} {
449 global objdir subdir srcdir testfile 444 global objdir subdir srcdir testfile
450 global gdb_prompt old_gdb_prompt 445 global gdb_prompt old_gdb_prompt
451 set srcfile watch_thread_num.c 446 set srcfile watch_thread_num.c
452 set binfile ${objdir}/${subdir}/${testfile}-watch_thread_num 447 set binfile ${objdir}/${subdir}/${testfile}-watch_thread_num
453 set gdb_prompt $old_gdb_prompt 448 set gdb_prompt $old_gdb_prompt
454 449
455 if { ![get_compiler_info ${binfile}] && [gdb_compile_pthreads "${srcdir}/${s ubdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] == "" } { 450 if { ![get_compiler_info] && [gdb_compile_pthreads "${srcdir}/${subdir}/${sr cfile}" "${binfile}" executable {debug nowarnings}] == "" } {
456 451
457 gdb_exit 452 gdb_exit
458 gdb_start 453 gdb_start
459 gdb_reinitialize_dir $srcdir/$subdir 454 gdb_reinitialize_dir $srcdir/$subdir
460 gdb_load ${binfile} 455 gdb_load ${binfile}
461 if { ![runto main] } then { 456 if { ![runto main] } then {
462 fail "run to main" 457 fail "run to main"
463 return 458 return
464 } 459 }
465 460
(...skipping 20 matching lines...) Expand all
486 } 481 }
487 } 482 }
488 } 483 }
489 484
490 thread_test 485 thread_test
491 thread_switch 486 thread_switch
492 487
493 # restore the original prompt for the rest of the testsuite 488 # restore the original prompt for the rest of the testsuite
494 489
495 set gdb_prompt $old_gdb_prompt 490 set gdb_prompt $old_gdb_prompt
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.base/annota1.c ('k') | gdb/testsuite/gdb.base/annota3.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698