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

Side by Side Diff: gdb/testsuite/gdb.base/annota3.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/annota3.c ('k') | gdb/testsuite/gdb.base/args.exp » ('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 2003-2012 Free Software Foundation, Inc. 1 # Copyright 2003-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 annota3.exp 38 untested annota3.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 # NOTE: this prompt is OK only when the annotation level is > 1 63 # NOTE: this prompt is OK only when the annotation level is > 1
74 64
75 # NOTE: When this prompt is in use the gdb_test procedure cannot be 65 # NOTE: When this prompt is in use the gdb_test procedure cannot be
76 # used because it assumes that the last char after the gdb_prompt is a 66 # used because it assumes that the last char after the gdb_prompt is a
77 # white space. This is not true with this annotated prompt. So we must 67 # white space. This is not true with this annotated prompt. So we must
78 # use send_gdb and gdb_expect or gdb_expect_list. 68 # use send_gdb and gdb_expect or gdb_expect_list.
79 69
(...skipping 27 matching lines...) Expand all
107 gdb_test_multiple "end" "end if construct" { 97 gdb_test_multiple "end" "end if construct" {
108 -re "^end\r\n\r\n\032\032post-commands\r\n$gdb_prompt$" { 98 -re "^end\r\n\r\n\032\032post-commands\r\n$gdb_prompt$" {
109 pass "end if construct" 99 pass "end if construct"
110 } 100 }
111 } 101 }
112 102
113 # 103 #
114 # info break: 104 # info break:
115 # 105 #
116 send_gdb "info break\n" 106 send_gdb "info break\n"
117 gdb_expect_list "breakpoint info" "$gdb_prompt$" { 107 gdb_expect_list "breakpoint info" "$gdb_prompt$" [concat {
118 "\r\n\032\032post-prompt\r\n" 108 "\r\n\032\032post-prompt\r\n"
119 "Num Type Disp Enb Address +What\r\n" 109 "Num Type Disp Enb Address +What\r\n" } [list \
120 "1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:32 \r\n" 110 "1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:$m ain_line\r\n"]]
121 }
122 111
123 112
124 # 113 #
125 # run to a break point will test: 114 # run to a break point will test:
126 # 115 #
127 #exp_internal 1 116 #exp_internal 1
128 send_gdb "run\n" 117 send_gdb "run\n"
129 gdb_expect_list "run until main breakpoint" "$gdb_prompt$" { 118 gdb_expect_list "run until main breakpoint" "$gdb_prompt$" [concat {
130 "\r\n\032\032post-prompt\r\n" 119 "\r\n\032\032post-prompt\r\n"
131 "Starting program: .*annota3(|\.exe) \r\n" 120 "Starting program: .*annota3(|\.exe) \r\n"
132 "\r\n\032\032starting\r\n" 121 "\r\n\032\032starting\r\n"
133 "\r\n\032\032breakpoint 1\r\n" 122 "\r\n\032\032breakpoint 1\r\n"
134 "\r\n" 123 "\r\n"
135 "Breakpoint 1, " 124 "Breakpoint 1, "
136 "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" 125 "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" } [list \
137 "main \\(\\) at .*annota3.c:32\r\n" 126 "main \\(\\) at .*annota3.c:$main_line\r\n"] [list \
138 "\r\n\032\032source.*annota3.c:32:.*:beg:0x\[0-9a-z\]+\r\n" 127 "\r\n\032\032source.*annota3.c:$main_line:.*:beg:0x\[0-9a-z\]+\r\n"] {
139 "\r\n\032\032stopped\r\n" 128 "\r\n\032\032stopped\r\n"
140 } 129 }]
141 #exp_internal 0 130 #exp_internal 0
142 #exit 0 131 #exit 0
143 132
144 # 133 #
145 # Let's do a next, to get to a point where the array is initialized 134 # Let's do a next, to get to a point where the array is initialized
146 # We don't care about the annotated output for this operation, it is the same as 135 # We don't care about the annotated output for this operation, it is the same as
147 # the one produced by run above 136 # the one produced by run above
148 # 137 #
149 send_gdb "next\n" 138 send_gdb "next\n"
150 gdb_expect_list "go after array init line" "$gdb_prompt$" { 139 gdb_expect_list "go after array init line" "$gdb_prompt$" {
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 send_gdb "delete 3\n" 260 send_gdb "delete 3\n"
272 gdb_expect_list "delete bp 3" "$gdb_prompt$" { 261 gdb_expect_list "delete bp 3" "$gdb_prompt$" {
273 "\r\n\032\032post-prompt\r\n" 262 "\r\n\032\032post-prompt\r\n"
274 } 263 }
275 264
276 # 265 #
277 # break at main, after value is initialized. This is in preparation 266 # break at main, after value is initialized. This is in preparation
278 # to test the annotate output for the display command. 267 # to test the annotate output for the display command.
279 # 268 #
280 send_gdb "break main\n" 269 send_gdb "break main\n"
281 gdb_expect_list "break at 28" "$gdb_prompt$" { 270 gdb_expect_list "break at main" "$gdb_prompt$" [concat {
282 "\r\n\032\032post-prompt\r\n" 271 "\r\n\032\032post-prompt\r\n" } [list \
283 "Breakpoint 4 at 0x\[0-9a-z\]+: file .*annota3.c, line 32.\r\n" 272 "Breakpoint 4 at 0x\[0-9a-z\]+: file .*annota3.c, line $main_line.\r\n"]]
284 }
285 273
286 # 274 #
287 # display the value 275 # display the value
288 # 276 #
289 send_gdb "display value\n" 277 send_gdb "display value\n"
290 gdb_expect_list "set up display" "$gdb_prompt$" { 278 gdb_expect_list "set up display" "$gdb_prompt$" {
291 "\r\n\032\032post-prompt\r\n" 279 "\r\n\032\032post-prompt\r\n"
292 "1: value = 7\r\n" 280 "1: value = 7\r\n"
293 } 281 }
294 282
(...skipping 15 matching lines...) Expand all
310 -re ".*$gdb_prompt$" { fail "re-run" } 298 -re ".*$gdb_prompt$" { fail "re-run" }
311 timeout { fail "re-run (timeout)" } 299 timeout { fail "re-run (timeout)" }
312 } 300 }
313 301
314 # 302 #
315 # Test that breakpoints-invalid is issued once and only once for 303 # Test that breakpoints-invalid is issued once and only once for
316 # breakpoint ignore count changes, after annotation stopped. 304 # breakpoint ignore count changes, after annotation stopped.
317 # NOTE: breakpoints-invalid annotations have been removed from 305 # NOTE: breakpoints-invalid annotations have been removed from
318 # level 3 but keep these tests for continuity and comparison 306 # level 3 but keep these tests for continuity and comparison
319 # with annota1.exp. 307 # with annota1.exp.
320 send_gdb "break 46\n" 308
321 gdb_expect_list "break at 46" "$gdb_prompt$" { 309 set value_inc_line [gdb_get_line_number "increment value"]
322 "\r\n\032\032post-prompt\r\n" 310
323 "Breakpoint 5 at 0x\[0-9a-z\]+: file .*annota3.c, line 46.\r\n" 311 send_gdb "break $value_inc_line\n"
324 } 312 gdb_expect_list "break at value++" "$gdb_prompt$" [concat {
313 "\r\n\032\032post-prompt\r\n" } [list \
314 "Breakpoint 5 at 0x\[0-9a-z\]+: file .*annota3.c, line $value_inc_line.\r\n" ]]
325 315
326 send_gdb "ignore 5 4\n" 316 send_gdb "ignore 5 4\n"
327 gdb_expect_list "ignore 5 4" "$gdb_prompt$" { 317 gdb_expect_list "ignore 5 4" "$gdb_prompt$" {
328 "\r\n\032\032post-prompt\r\n" 318 "\r\n\032\032post-prompt\r\n"
329 "Will ignore next 4 crossings of breakpoint 5" 319 "Will ignore next 4 crossings of breakpoint 5"
330 "\r\n" 320 "\r\n"
331 } 321 }
332 322
333 send_gdb "continue\n" 323 send_gdb "continue\n"
334 gdb_expect_list "annotate ignore count change" "$gdb_prompt$" { 324 gdb_expect_list "annotate ignore count change" "$gdb_prompt$" [concat {
335 "\r\n\032\032post-prompt\r\n" 325 "\r\n\032\032post-prompt\r\n"
336 "\r\n\032\032breakpoint 5\r\n" 326 "\r\n\032\032breakpoint 5\r\n"
337 "\r\n" 327 "\r\n"
338 "Breakpoint 5, " 328 "Breakpoint 5, "
339 "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" 329 "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" } [list \
340 "main \\(\\) at .*annota3.c:46\r\n" 330 "main \\(\\) at .*annota3.c:$value_inc_line\r\n"] [list \
341 "\r\n\032\032source .*annota3.c:46:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n" 331 "\r\n\032\032source .*annota3.c:$value_inc_line:\[0-9\]+:beg:0x\[0-9a-z\]+\r \n"] {
342 "1: value = 11\r\n" 332 "1: value = 11\r\n"
343 "\r\n\032\032stopped\r\n" 333 "\r\n\032\032stopped\r\n"
344 } 334 }]
345 335
346 # check that ignore command is working, or the above can provide 336 # check that ignore command is working, or the above can provide
347 # misleading assurance ... 337 # misleading assurance ...
348 338
349 send_gdb "next\n" 339 send_gdb "next\n"
350 gdb_expect_list "next to exit loop" "$gdb_prompt$" { 340 gdb_expect_list "next to exit loop" "$gdb_prompt$" {
351 "\r\n\032\032post-prompt\r\n" 341 "\r\n\032\032post-prompt\r\n"
352 "\r\n\032\032starting\r\n" 342 "\r\n\032\032starting\r\n"
353 "\r\n\032\032source.*annota3.c:\[0-9\]+:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n" 343 "\r\n\032\032source.*annota3.c:\[0-9\]+:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"
354 "1: value = 12\r\n" 344 "1: value = 12\r\n"
355 "\r\n\032\032stopped\r\n" 345 "\r\n\032\032stopped\r\n"
356 } 346 }
357 347
348 set after_loop_line [gdb_get_line_number "after loop"]
349
358 send_gdb "next\n" 350 send_gdb "next\n"
359 gdb_expect_list "breakpoint ignore count" "$gdb_prompt$" { 351 gdb_expect_list "breakpoint ignore count" "$gdb_prompt$" [concat {
360 "\r\n\032\032post-prompt\r\n" 352 "\r\n\032\032post-prompt\r\n"
361 "\r\n\032\032starting\r\n" 353 "\r\n\032\032starting\r\n" } [list \
362 "\r\n\032\032source.*annota3.c:49:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n" 354 "\r\n\032\032source.*annota3.c:$after_loop_line:\[0-9\]+:beg:0x\[0-9a-z\]+\r \n"] {
363 "1: value = 12\r\n" 355 "1: value = 12\r\n"
364 "\r\n\032\032stopped\r\n" 356 "\r\n\032\032stopped\r\n"
365 } 357 }]
366 358
367 # Get the inferior's PID for later. 359 # Get the inferior's PID for later.
368 360
369 set test "get inferior pid" 361 set test "get inferior pid"
370 set pid -1 362 set pid -1
371 gdb_test_multiple "info inferior 1" "$test" { 363 gdb_test_multiple "info inferior 1" "$test" {
372 -re "process (\[0-9\]*).*$gdb_prompt$" { 364 -re "process (\[0-9\]*).*$gdb_prompt$" {
373 set pid $expect_out(1,string) 365 set pid $expect_out(1,string)
374 pass "$test" 366 pass "$test"
375 } 367 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 } elseif { $pid != -1 && [remote_file host exists core.$pid] } { 405 } elseif { $pid != -1 && [remote_file host exists core.$pid] } {
414 remote_file host delete core.$pid 406 remote_file host delete core.$pid
415 pass "$test (removed)" 407 pass "$test (removed)"
416 } else { 408 } else {
417 pass "$test (not dumped)" 409 pass "$test (not dumped)"
418 } 410 }
419 411
420 # restore the original prompt for the rest of the testsuite 412 # restore the original prompt for the rest of the testsuite
421 413
422 set gdb_prompt $old_gdb_prompt 414 set gdb_prompt $old_gdb_prompt
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.base/annota3.c ('k') | gdb/testsuite/gdb.base/args.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698