aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2014-10-29 18:16:20 +0000
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-11-13 10:14:29 +0100
commit6acc2ddee2a596e3785bb17a8c753e2c30ff2683 (patch)
tree6d9e45e45ed0eefd37483ffe46bcdca29ec82d88
parent9ecfcd1d02e8e92457e7a81d060b8d0d46bb68bd (diff)
downloadgdb-6acc2ddee2a596e3785bb17a8c753e2c30ff2683.zip
gdb-6acc2ddee2a596e3785bb17a8c753e2c30ff2683.tar.gz
gdb-6acc2ddee2a596e3785bb17a8c753e2c30ff2683.tar.bz2
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.
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.base/average.c4
-rw-r--r--gdb/testsuite/gdb.base/dbx.exp17
-rw-r--r--gdb/testsuite/gdb.base/sum.c2
4 files changed, 21 insertions, 9 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index d0f1b84..ee19d85 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,12 @@
2014-11-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
+ * 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 <arnez@linux.vnet.ibm.com>
+
* gdb.base/solib1.c: Add eye-catchers.
* gdb.base/so-impl-ld.exp: Match against eye-catchers instead of
literal line numbers.
diff --git a/gdb/testsuite/gdb.base/average.c b/gdb/testsuite/gdb.base/average.c
index e1695ce..99c28cf 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 4383e79..bdf25fd 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 <function . address>"
+ 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 <function . address>"
gdb_test "stop at main" "Usage: stop at <line>"
}
@@ -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 f5a5dbf..6dd7a75 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);