aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.mi
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2014-11-14 18:21:21 +0000
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-11-17 10:26:30 +0100
commit12084a9ae15f6844e987ff6d3b2a64bb5963da8a (patch)
tree091c1069da4a9e62a2ada9ed5a3a22c8bc0dc470 /gdb/testsuite/gdb.mi
parentdc7e1a77a4d3fb8c636628af674327ba20c736b6 (diff)
downloadfsf-binutils-gdb-12084a9ae15f6844e987ff6d3b2a64bb5963da8a.zip
fsf-binutils-gdb-12084a9ae15f6844e987ff6d3b2a64bb5963da8a.tar.gz
fsf-binutils-gdb-12084a9ae15f6844e987ff6d3b2a64bb5963da8a.tar.bz2
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.
Diffstat (limited to 'gdb/testsuite/gdb.mi')
-rw-r--r--gdb/testsuite/gdb.mi/mi-until.exp23
-rw-r--r--gdb/testsuite/gdb.mi/until.c10
2 files changed, 20 insertions, 13 deletions
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 */
}