From 12084a9ae15f6844e987ff6d3b2a64bb5963da8a Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Fri, 14 Nov 2014 18:21:21 +0000 Subject: [PATCH] Eliminate literal line numbers in mi-until.exp Remove literal line numbers from the regexps in mi-until.exp. Add appropriate eye-catchers to until.c and refer to those instead. This change fixes the test case after having disturbed the line numbering with the previous fix for compiler warnings with -std=gnu11. gdb/testsuite/ChangeLog: * gdb.mi/until.c: Add eye-catchers. * gdb.mi/mi-until.exp: Refer to eye-catchers instead of literal line numbers. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.mi/mi-until.exp | 23 +++++++++++++++-------- 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 2f7e09cdc20..351d2df28b1 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-11-17 Andreas Arnez + + * 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 * gdb.base/condbreak.exp: Drop references to removed non-prototype diff --git a/gdb/testsuite/gdb.mi/mi-until.exp b/gdb/testsuite/gdb.mi/mi-until.exp index 3fabcd2092d..2d0bc4ec821 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 21bdedaf3e6..83beea08f41 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 */ } -- 2.30.2