2012-02-28 Thomas Schwinge <thomas@codesourcery.com>
- * gdb.base/annota1.c [__sh__]: Remove any special-casing.
- * gdb.base/annota3.c: Likewise.
- * gdb.base/sigall.c: Likewise.
- * gdb.base/signals.c: Likewise.
- * gdb.reverse/sigall-reverse.c: Likewise.
+ * gdb.base/annota1.exp: Use gdb_get_line_number for retrieving line
+ numbers instead of hardcoding them.
+ * gdb.base/annota1.c: Provide suitable markers.
+ * gdb.base/annota3.exp: Use gdb_get_line_number for retrieving line
+ numbers instead of hardcoding them.
+ * gdb.base/annota3.c: Provide suitable markers.
+
+ * gdb.base/annota1.c [__sh__]: Remove any special-casing.
+ * gdb.base/annota3.c: Likewise.
+ * gdb.base/sigall.c: Likewise.
+ * gdb.base/signals.c: Likewise.
+ * gdb.reverse/sigall-reverse.c: Likewise.
2012-02-27 Maciej W. Rozycki <macro@codesourcery.com>
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-#
-# the line at which break main will put the breakpoint
-#
-set main_line 32
-
# The commands we test here produce many lines of output; disable "press
# <return> to continue" prompts.
gdb_test_no_output "set height 0"
#
# break at main
#
+
+set main_line [gdb_get_line_number "break main"]
+
gdb_test "break main" \
- "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "Breakpoint.*at.* file .*$srcfile, line $main_line\\." \
"breakpoint main"
# break at main, after value is initialized. This is in preparation
# to test the annotate output for the display command.
#
-gdb_test_multiple "break main" "break at 28" {
+gdb_test_multiple "break main" "break at main" {
-re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file ${escapedsrcfile}, line $main_line.*$gdb_prompt$" {
- pass "break at 28"
+ pass "break at main"
}
-re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file .*${srcfile}, line $main_line.*$gdb_prompt$" {
setup_xfail "*-*-*" 1270
- fail "break at 28"
+ fail "break at main"
}
}
# Test that breakpoints-invalid is issued once and only once for
# breakpoint ignore count changes, after annotation stopped.
#
-gdb_test_multiple "break 46" "break at 46" {
- -re "Breakpoint 5 at $hex: file .*$srcfile, line 46.*$gdb_prompt$" {
- pass "break at 46"
+
+set value_inc_line [gdb_get_line_number "increment value"]
+
+gdb_test_multiple "break $value_inc_line" "break at value++" {
+ -re "Breakpoint 5 at $hex: file .*$srcfile, line $value_inc_line.*$gdb_prompt$" {
+ pass "break at value++"
}
}
}
gdb_test_multiple "continue" "annotate ignore count change" {
- -re ".*$srcfile:46:.*\032\032stopped\r\n\r\n\032\032breakpoints-invalid\r\n$gdb_prompt$" {
+ -re ".*$srcfile:$value_inc_line:.*\032\032stopped\r\n\r\n\032\032breakpoints-invalid\r\n$gdb_prompt$" {
pass "annotate ignore count change"
}
}
}
}
+set after_loop_line [gdb_get_line_number "after loop"]
+
gdb_test_multiple "next" "breakpoint ignore count" {
- -re ".*$srcfile:49:.*$gdb_prompt$" {
+ -re ".*$srcfile:$after_loop_line:.*$gdb_prompt$" {
pass "breakpoint ignore count"
}
}
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-#
-# the line at which break main will put the breakpoint
-#
-set main_line 32
-
# The commands we test here produce many lines of output; disable "press
# <return> to continue" prompts.
gdb_test_no_output "set height 0"
#
# break at main
#
+
+set main_line [gdb_get_line_number "break main"]
+
gdb_test "break main" \
- "Breakpoint.*at.* file .*$srcfile, line.*" \
+ "Breakpoint.*at.* file .*$srcfile, line $main_line\\." \
"breakpoint main"
# info break:
#
send_gdb "info break\n"
-gdb_expect_list "breakpoint info" "$gdb_prompt$" {
+gdb_expect_list "breakpoint info" "$gdb_prompt$" [concat {
"\r\n\032\032post-prompt\r\n"
- "Num Type Disp Enb Address +What\r\n"
- "1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:32\r\n"
-}
+ "Num Type Disp Enb Address +What\r\n" } [list \
+ "1 breakpoint keep y 0x\[0-9a-zA-Z\]+ +in main at .*annota3.c:$main_line\r\n"]]
#
#
#exp_internal 1
send_gdb "run\n"
-gdb_expect_list "run until main breakpoint" "$gdb_prompt$" {
+gdb_expect_list "run until main breakpoint" "$gdb_prompt$" [concat {
"\r\n\032\032post-prompt\r\n"
"Starting program: .*annota3(|\.exe) \r\n"
"\r\n\032\032starting\r\n"
"\r\n\032\032breakpoint 1\r\n"
"\r\n"
"Breakpoint 1, "
- "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n"
- "main \\(\\) at .*annota3.c:32\r\n"
- "\r\n\032\032source.*annota3.c:32:.*:beg:0x\[0-9a-z\]+\r\n"
+ "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" } [list \
+ "main \\(\\) at .*annota3.c:$main_line\r\n"] [list \
+ "\r\n\032\032source.*annota3.c:$main_line:.*:beg:0x\[0-9a-z\]+\r\n"] {
"\r\n\032\032stopped\r\n"
-}
+}]
#exp_internal 0
#exit 0
# to test the annotate output for the display command.
#
send_gdb "break main\n"
-gdb_expect_list "break at 28" "$gdb_prompt$" {
- "\r\n\032\032post-prompt\r\n"
- "Breakpoint 4 at 0x\[0-9a-z\]+: file .*annota3.c, line 32.\r\n"
-}
+gdb_expect_list "break at main" "$gdb_prompt$" [concat {
+ "\r\n\032\032post-prompt\r\n" } [list \
+ "Breakpoint 4 at 0x\[0-9a-z\]+: file .*annota3.c, line $main_line.\r\n"]]
#
# display the value
# NOTE: breakpoints-invalid annotations have been removed from
# level 3 but keep these tests for continuity and comparison
# with annota1.exp.
-send_gdb "break 46\n"
-gdb_expect_list "break at 46" "$gdb_prompt$" {
- "\r\n\032\032post-prompt\r\n"
- "Breakpoint 5 at 0x\[0-9a-z\]+: file .*annota3.c, line 46.\r\n"
-}
+
+set value_inc_line [gdb_get_line_number "increment value"]
+
+send_gdb "break $value_inc_line\n"
+gdb_expect_list "break at value++" "$gdb_prompt$" [concat {
+ "\r\n\032\032post-prompt\r\n" } [list \
+ "Breakpoint 5 at 0x\[0-9a-z\]+: file .*annota3.c, line $value_inc_line.\r\n"]]
send_gdb "ignore 5 4\n"
gdb_expect_list "ignore 5 4" "$gdb_prompt$" {
}
send_gdb "continue\n"
-gdb_expect_list "annotate ignore count change" "$gdb_prompt$" {
+gdb_expect_list "annotate ignore count change" "$gdb_prompt$" [concat {
"\r\n\032\032post-prompt\r\n"
"\r\n\032\032breakpoint 5\r\n"
"\r\n"
"Breakpoint 5, "
- "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n"
- "main \\(\\) at .*annota3.c:46\r\n"
- "\r\n\032\032source .*annota3.c:46:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"
+ "\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n" } [list \
+ "main \\(\\) at .*annota3.c:$value_inc_line\r\n"] [list \
+ "\r\n\032\032source .*annota3.c:$value_inc_line:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"] {
"1: value = 11\r\n"
"\r\n\032\032stopped\r\n"
-}
+}]
# check that ignore command is working, or the above can provide
# misleading assurance ...
"\r\n\032\032stopped\r\n"
}
+set after_loop_line [gdb_get_line_number "after loop"]
+
send_gdb "next\n"
-gdb_expect_list "breakpoint ignore count" "$gdb_prompt$" {
+gdb_expect_list "breakpoint ignore count" "$gdb_prompt$" [concat {
"\r\n\032\032post-prompt\r\n"
- "\r\n\032\032starting\r\n"
- "\r\n\032\032source.*annota3.c:49:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"
+ "\r\n\032\032starting\r\n" } [list \
+ "\r\n\032\032source.*annota3.c:$after_loop_line:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"] {
"1: value = 12\r\n"
"\r\n\032\032stopped\r\n"
-}
+}]
# Get the inferior's PID for later.