From 6acc2ddee2a596e3785bb17a8c753e2c30ff2683 Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Wed, 29 Oct 2014 18:16:20 +0000 Subject: [PATCH] Eliminate literal line numbers in dbx.exp Remove literal line numbers from the commands and regexps in dbx.exp. Add appropriate eye-catchers to average.c and sum.c and refer to those instead. gdb/testsuite/ChangeLog: * gdb.base/average.c: Add eye-catchers. * gdb.base/sum.c: Likewise. * gdb.base/dbx.exp: Use eye-catchers to determine line numbers for regexps dynamically. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.base/average.c | 4 ++-- gdb/testsuite/gdb.base/dbx.exp | 17 +++++++++++------ gdb/testsuite/gdb.base/sum.c | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d0f1b84a634..ee19d85d896 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2014-11-13 Andreas Arnez + + * gdb.base/average.c: Add eye-catchers. + * gdb.base/sum.c: Likewise. + * gdb.base/dbx.exp: Use eye-catchers to determine line numbers for + regexps dynamically. + 2014-11-13 Andreas Arnez * gdb.base/solib1.c: Add eye-catchers. diff --git a/gdb/testsuite/gdb.base/average.c b/gdb/testsuite/gdb.base/average.c index e1695cea58c..99c28cfc0f9 100644 --- a/gdb/testsuite/gdb.base/average.c +++ b/gdb/testsuite/gdb.base/average.c @@ -35,12 +35,12 @@ main () #endif { char c; - int first = 0, last = 0; + int first = 0, last = 0; /* stop-in-main */ last = num-1; /* Try two test cases. */ print_average (my_list, first, last); - print_average (my_list, first, last - 3); + print_average (my_list, first, last - 3); /* stop-at-call */ exit(0); } diff --git a/gdb/testsuite/gdb.base/dbx.exp b/gdb/testsuite/gdb.base/dbx.exp index 4383e79573c..bdf25fde57f 100644 --- a/gdb/testsuite/gdb.base/dbx.exp +++ b/gdb/testsuite/gdb.base/dbx.exp @@ -243,10 +243,12 @@ proc gdb_file_cmd {arg} { #test_breakpoints # proc test_breakpoints { } { - gdb_test "stop in main" "Breakpoint.*at.*: file.*average\.c, line 38\." - gdb_test "status" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:38.*" - gdb_test "stop at average.c:43" "Breakpoint.*at.*: file.*average\.c, line 43.*" - gdb_test "stop in average.c:43" "Usage: stop in " + set stop_line [gdb_get_line_number "stop-in-main"] + gdb_test "stop in main" "Breakpoint.*at.*: file.*average\.c, line $stop_line\." + gdb_test "status" "Num.*Type.*Disp.*Enb.*Address.*What\r\n1\[ \r\]+breakpoint\[ \r\]+keep y.*in main at.*average\.c:$stop_line.*" + set stop_line [gdb_get_line_number "stop-at-call"] + gdb_test "stop at average.c:$stop_line" "Breakpoint.*at.*: file.*average\.c, line $stop_line.*" + gdb_test "stop in average.c:$stop_line" "Usage: stop in " gdb_test "stop at main" "Usage: stop at " } @@ -287,16 +289,19 @@ proc test_whereis { } { #test_func # proc test_func { } { + global decimal + global srcfile2 gdb_test "cont" ".*" "cont 1" gdb_test "step" ".*" # This always fails, but it's not clear why. -sts 1999-08-17 setup_xfail "*-*-*" gdb_test "func sum" "'sum' not within current stack frame\." - gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line 11\." + set stop_line [gdb_get_line_number "stop-in-sum" $srcfile2] + gdb_test "stop in sum" "Breakpoint.*at.*: file.*sum\.c, line $stop_line\." gdb_test "cont" ".*" "cont 2" # This always fails, but it's not clear why. -sts 1999-08-17 setup_xfail "*-*-*" - gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:24\r\n24\[ \t\]+total = sum\\(list, low, high\\);" + gdb_test "func print_average" ".*in print_average.*\\(list=.*, low=0, high=6\\).*at.*average\.c:${decimal}\r\n\${decimal}\[ \t\]+total = sum\\(list, low, high\\);" } # Start with a fresh gdb. diff --git a/gdb/testsuite/gdb.base/sum.c b/gdb/testsuite/gdb.base/sum.c index f5a5dbf2631..6dd7a7511a8 100644 --- a/gdb/testsuite/gdb.base/sum.c +++ b/gdb/testsuite/gdb.base/sum.c @@ -8,7 +8,7 @@ int sum(list, low, high) int *list, low, high; #endif { - int i = 0, s = 0; + int i = 0, s = 0; /* stop-in-sum */ for (i = low; i <= high; i++) s += list[i]; return(s); -- 2.30.2