This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 01/16] Eliminate literal line numbers in so-impl-ld.exp
- From: Andreas Arnez <arnez at linux dot vnet dot ibm dot com>
- To: Sergio Durigan Junior <sergiodj at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 29 Oct 2014 19:25:55 +0100
- Subject: Re: [PATCH 01/16] Eliminate literal line numbers in so-impl-ld.exp
- Authentication-results: sourceware.org; auth=none
- References: <1414597859-12523-1-git-send-email-arnez at linux dot vnet dot ibm dot com> <1414598446-13831-1-git-send-email-arnez at linux dot vnet dot ibm dot com> <87bnoukfql dot fsf at redhat dot com>
Hi Sergio,
Thanks for reviewing!
On Wed, Oct 29 2014, Sergio Durigan Junior wrote:
> On Wednesday, October 29 2014, Andreas Arnez wrote:
>
> [...]
>> diff --git a/gdb/testsuite/gdb.base/so-impl-ld.exp b/gdb/testsuite/gdb.base/so-impl-ld.exp
>> index 073c3df..03d10a5 100644
>> --- a/gdb/testsuite/gdb.base/so-impl-ld.exp
>> +++ b/gdb/testsuite/gdb.base/so-impl-ld.exp
>> @@ -61,12 +61,12 @@ gdb_test "next" "21\[ \t\]*result = solib_main .result.;" \
>>
>> # Verify that we can step into the second shlib call.
>> #
>> -gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:17.*" \
>> +gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:.* HERE .*" \
>> "step into solib call"
>
> Can't you use ${decimal} here, instead of expecting anything?
Certainly.
>
>> # Verify that we can step within the shlib call.
>> #
>> -gdb_test "next" "18\[ \t\]*\}" "step in solib call"
>> +gdb_test "next" "\[0-9\]+\[ \t\]*\}.* STEP .*" "step in solib call"
>
> Same here: ${decimal} is made to replace this \[0-9\]+.
Good point. Changed both as suggested. Also replaced \[0-9\]+ by
${decimal} in the patches for dbx.exp, call-ar-st.exp, call-rt-st.exp,
jump.exp, and shlib-call.exp. While reviewing again I also noticed that
I introduced an excess ".*" in front of a regexp in foll-exec.exp and
removed it.
Note that some regexps are currently enclosed in a brace-quoted group,
where variables are not substituted -- particularly in the various uses
of gdb_test_sequence in call-ar-st.exp. There I still use \[0-9\]+, to
avoid larger modifications to the existing regexps.
Here are the changes I performed based on your suggestion:
--- a/gdb/testsuite/gdb.base/call-ar-st.exp
+++ b/gdb/testsuite/gdb.base/call-ar-st.exp
@@ -62,7 +62,7 @@
set stop_line [gdb_get_line_number "-tbreak1-"]
gdb_test "tbreak $stop_line" \
- "Temporary breakpoint \[0-9\]+.*file.*$srcfile, line $stop_line.*" \
+ "Temporary breakpoint ${decimal}.*file.*$srcfile, line $stop_line.*" \
"tbreakpoint at tbreak1"
gdb_test continue \
--- a/gdb/testsuite/gdb.base/call-rt-st.exp
+++ b/gdb/testsuite/gdb.base/call-rt-st.exp
@@ -74,10 +74,10 @@
"continue to loop_count"
gdb_test_multiple "finish" "finish out from loop count" {
- -re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:\[0-9\]+\[ \t\r\n\]+\[0-9\]+\[\t \]+return 0;.*-finish1-.*$gdb_prompt $" {
+ -re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:${decimal}\[ \t\r\n\]+${decimal}\[\t \]+return 0;.*-finish1-.*$gdb_prompt $" {
pass "finish out from loop_count (finish1)"
}
- -re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:\[0-9\]+\[ \t\r\n\]+\[0-9\]+\[\t \]+loop_count.*-finish2-.*$gdb_prompt $" {
+ -re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:$stop_line\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:${decimal}\[ \t\r\n\]+${decimal}\[\t \]+loop_count.*-finish2-.*$gdb_prompt $" {
pass "finish out from loop_count (line 775)"
}
}
--- a/gdb/testsuite/gdb.base/dbx.exp
+++ b/gdb/testsuite/gdb.base/dbx.exp
@@ -289,6 +289,7 @@
#test_func
#
proc test_func { } {
+ global decimal
global srcfile2
gdb_test "cont" ".*" "cont 1"
gdb_test "step" ".*"
@@ -300,7 +301,7 @@
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:\[0-9\]+\r\n\[0-9\]+\[ \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.
--- a/gdb/testsuite/gdb.base/foll-exec.exp
+++ b/gdb/testsuite/gdb.base/foll-exec.exp
@@ -119,7 +119,7 @@
#
send_gdb "next 3\n"
gdb_expect {
- -re ".*execlp \\(.*$gdb_prompt $"\
+ -re "execlp \\(.*$gdb_prompt $"\
{pass "step to exec call"}
-re "$gdb_prompt $" {fail "step to exec call"}
timeout {fail "(timeout) step to exec call"}
--- a/gdb/testsuite/gdb.base/jump.exp
+++ b/gdb/testsuite/gdb.base/jump.exp
@@ -40,7 +40,7 @@
set bp_on_non_call 0
set non_call_line [gdb_get_line_number "bp-on-non-call"]
gdb_test_multiple "break $non_call_line" "break before jump to non-call" {
- -re "\[Bb\]reakpoint (\[0-9\]*) at 0x\[0-9a-fA-F\]*: file .*${srcfile}, line $non_call_line.*$gdb_prompt $" {
+ -re "\[Bb\]reakpoint (${decimal}) at ${hex}: file .*${srcfile}, line $non_call_line.*$gdb_prompt $" {
set bp_on_non_call $expect_out(1,string)
pass "break before jump to non-call"
}
@@ -48,7 +48,7 @@
# Can we jump to the statement? Do we stop there?
#
-gdb_test "jump $non_call_line" "Breakpoint \[0-9\]*, .*${srcfile}:$non_call_line.*" \
+gdb_test "jump $non_call_line" "Breakpoint ${decimal}, .*${srcfile}:$non_call_line.*" \
"jump to non-call"
# Set a breakpoint on the statement that we're about to jump to.
@@ -57,7 +57,7 @@
set bp_on_call 0
set call_line [gdb_get_line_number "bp-on-call"]
gdb_test_multiple "break $call_line" "break before jump to call" {
- -re "\[Bb\]reakpoint (\[0-9\]*) at 0x\[0-9a-fA-F\]*: file .*${srcfile}, line $call_line.*$gdb_prompt $" {
+ -re "\[Bb\]reakpoint (${decimal}) at ${hex}: file .*${srcfile}, line $call_line.*$gdb_prompt $" {
set bp_on_call $expect_out(1,string)
pass "break before jump to call"
}
@@ -66,7 +66,7 @@
# Can we jump to the statement? Do we stop there?
#
gdb_test "jump $call_line" \
- "Breakpoint \[0-9\]*, .*${srcfile}:$call_line.*" \
+ "Breakpoint ${decimal}, .*${srcfile}:$call_line.*" \
"jump to call"
# If we disable the breakpoint at the function call, and then
@@ -75,7 +75,7 @@
#
gdb_test_no_output "disable $bp_on_call" "disable breakpoint on call"
-gdb_test "jump $call_line" "Breakpoint \[0-9\]*, .*${srcfile}:$non_call_line.*" \
+gdb_test "jump $call_line" "Breakpoint ${decimal}, .*${srcfile}:$non_call_line.*" \
"jump to call with disabled breakpoint"
# Verify that GDB responds gracefully to the "jump" command without
--- a/gdb/testsuite/gdb.base/shlib-call.exp
+++ b/gdb/testsuite/gdb.base/shlib-call.exp
@@ -111,7 +111,7 @@
"breakpoint function shr2"
gdb_test "continue" \
- "Continuing\\..*Breakpoint \[0-9\]+, shr2 \\(.*\\) at.*shr2\\.c:.*shr2-return \\*\\/" \
+ "Continuing\\..*Breakpoint ${decimal}, shr2 \\(.*\\) at.*shr2\\.c:${decimal}.*shr2-return \\*\\/" \
"run until breakpoint set at a function"
--- a/gdb/testsuite/gdb.base/so-impl-ld.exp
+++ b/gdb/testsuite/gdb.base/so-impl-ld.exp
@@ -61,12 +61,12 @@
# Verify that we can step into the second shlib call.
#
-gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:.* HERE .*" \
+gdb_test "step" "solib_main .arg=10000. at.*${libfile}.c:${decimal}.* HERE .*" \
"step into solib call"
# Verify that we can step within the shlib call.
#
-gdb_test "next" "\[0-9\]+\[ \t\]*\}.* STEP .*" "step in solib call"
+gdb_test "next" "${decimal}\[ \t\]*\}.* STEP .*" "step in solib call"
# Verify that we can step out of the shlib call, and back out into
# the caller.