diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.mi/mi-until.exp | 23 | ||||
-rw-r--r-- | gdb/testsuite/gdb.mi/until.c | 10 |
3 files changed, 26 insertions, 13 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2f7e09c..351d2df 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2014-11-17 Andreas Arnez <arnez@linux.vnet.ibm.com> + * gdb.mi/until.c: Add eye-catchers. + * gdb.mi/mi-until.exp: Refer to eye-catchers instead of literal + line numbers. + +2014-11-17 Andreas Arnez <arnez@linux.vnet.ibm.com> + * gdb.base/condbreak.exp: Drop references to removed non-prototype function header variants in break1.c. * gdb.base/ena-dis-br.exp: Likewise. diff --git a/gdb/testsuite/gdb.mi/mi-until.exp b/gdb/testsuite/gdb.mi/mi-until.exp index 3fabcd2..2d0bc4e 100644 --- a/gdb/testsuite/gdb.mi/mi-until.exp +++ b/gdb/testsuite/gdb.mi/mi-until.exp @@ -42,12 +42,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} proc test_running_to_foo {} { - mi_create_breakpoint "10" \ + set line [gdb_get_line_number "in-loop"] + mi_create_breakpoint $line \ "break-insert operation" \ - -number 1 -func foo -file ".*until.c" -line 10 + -number 1 -func foo -file ".*until.c" -line $line mi_run_cmd - mi_expect_stop "breakpoint-hit" "foo" "" ".*until.c" 10 \ + mi_expect_stop "breakpoint-hit" "foo" "" ".*until.c" $line \ { "" "disp=\"keep\"" } "run to main" mi_gdb_test "100-break-delete 1" "100\\^done" "break-delete 1" @@ -56,17 +57,23 @@ proc test_running_to_foo {} { proc test_until {} { setup_kfail gdb/2104 "*-*-*" - mi_execute_to "exec-until" "end-stepping-range" "foo" "" ".*until.c" "12" "" \ + set line [gdb_get_line_number "after-loop"] + mi_execute_to "exec-until" "end-stepping-range" "foo" "" ".*until.c" $line "" \ "until after while loop" - mi_execute_to "exec-until 15" "location-reached" "foo" "" ".*until.c" "15" ""\ + set line [gdb_get_line_number "until-here"] + mi_execute_to "exec-until $line" "location-reached" "foo" "" ".*until.c" $line ""\ "until line number" - mi_execute_to "exec-until until.c:17" "location-reached" "foo" "" ".*until.c" "17" ""\ + set line [gdb_get_line_number "until-there"] + mi_execute_to "exec-until until.c:$line" "location-reached" "foo" "" ".*until.c" $line ""\ "until line number:file" - # This is supposed to NOT stop at line 25. It stops right after foo is over. - mi_execute_to "exec-until until.c:25" "location-reached" "main" "" ".*until.c" "(23|24)" ""\ + # This is supposed to NOT stop at the return statement, but right + # after foo is over. + set line [gdb_get_line_number "at-return"] + mi_execute_to "exec-until until.c:$line" "location-reached" "main" ""\ + ".*until.c" "([expr $line-2]|[expr $line-1])" ""\ "until after current function" } diff --git a/gdb/testsuite/gdb.mi/until.c b/gdb/testsuite/gdb.mi/until.c index 21bdeda..83beea0 100644 --- a/gdb/testsuite/gdb.mi/until.c +++ b/gdb/testsuite/gdb.mi/until.c @@ -8,14 +8,14 @@ foo (void) i = 0; while (i < 2) - i++; + i++; /* in-loop */ - x = i; + x = i; /* after-loop */ y = 2 * x; z = x + y; - y = x + z; + y = x + z; /* until-here */ x = 9; - y = 10; + y = 10; /* until-there */ } int @@ -24,5 +24,5 @@ main () int a = 1; foo (); a += 2; - return 0; + return 0; /* at-return */ } |