[gdb/testsuite] Handle -line and -non-empty-line in gdb_test_multiple Add predefined regexps in gdb_test_multiple: * -line meaning -re "^\[^\r\n\]*\r\n" * -non-empty-line meaning -re "^\[^\r\n\]+\r\n" Reg-tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-02-19 Tom de Vries * lib/gdb.exp (gdb_test_multiple): Handle -line and -non-empty-line. * gdb.base/corefile-buildid.exp: Use -line. * gdb.base/solib-corrupted.exp: Same. * gdb.arch/mips-fpregset-core.exp: Use -non-empty-line. * gdb.base/auxv.exp: Same. * gdb.base/callfuncs.exp: Same. --- gdb/testsuite/gdb.arch/mips-fpregset-core.exp | 2 +- gdb/testsuite/gdb.base/auxv.exp | 2 +- gdb/testsuite/gdb.base/callfuncs.exp | 2 +- gdb/testsuite/gdb.base/corefile-buildid.exp | 6 +++--- gdb/testsuite/gdb.base/solib-corrupted.exp | 2 +- gdb/testsuite/lib/gdb.exp | 19 +++++++++++++++++++ 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/gdb.arch/mips-fpregset-core.exp b/gdb/testsuite/gdb.arch/mips-fpregset-core.exp index 3a199f8eba..fecc9f00e3 100644 --- a/gdb/testsuite/gdb.arch/mips-fpregset-core.exp +++ b/gdb/testsuite/gdb.arch/mips-fpregset-core.exp @@ -55,7 +55,7 @@ proc mips_fpregset_core_fetch_float_registers { test } { -re "$gdb_prompt $" { incr bad } - -re "^\[^\r\n\]+\r\n" { + -non-empty-line { if { !$bad } { warning "Unrecognized output: $expect_out(0,string)" set bad 1 diff --git a/gdb/testsuite/gdb.base/auxv.exp b/gdb/testsuite/gdb.base/auxv.exp index 9834a3564d..5a54599fc1 100644 --- a/gdb/testsuite/gdb.base/auxv.exp +++ b/gdb/testsuite/gdb.base/auxv.exp @@ -100,7 +100,7 @@ proc fetch_auxv {test} { -re "$gdb_prompt $" { incr bad } - -re "^\[^\r\n\]+\r\n" { + -non-empty-line { if {!$bad} { warning "Unrecognized output: $expect_out(0,string)" set bad 1 diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp index 5d98541745..33740922e7 100644 --- a/gdb/testsuite/gdb.base/callfuncs.exp +++ b/gdb/testsuite/gdb.base/callfuncs.exp @@ -302,7 +302,7 @@ proc fetch_all_registers {test} { -re "$gdb_prompt $" { incr bad } - -re "^\[^\r\n\]+\r\n" { + -non-empty-line { if {!$bad} { warning "Unrecognized output: $expect_out(0,string)" set bad 1 diff --git a/gdb/testsuite/gdb.base/corefile-buildid.exp b/gdb/testsuite/gdb.base/corefile-buildid.exp index b9844ee354..43e44443d5 100644 --- a/gdb/testsuite/gdb.base/corefile-buildid.exp +++ b/gdb/testsuite/gdb.base/corefile-buildid.exp @@ -121,7 +121,7 @@ proc check_exec_file {file} { -re "^$gdb_prompt $" { fail $gdb_test_name } - -re "^\[^\r\n\]*\r\n" { + -line { exp_continue } } @@ -139,7 +139,7 @@ proc check_exec_file {file} { -re "^$gdb_prompt $" { fail $gdb_test_name } - -re "^\[^\r\n\]*\r\n" { + -line { exp_continue } } @@ -153,7 +153,7 @@ proc check_exec_file {file} { -re "^$gdb_prompt $" { pass $gdb_test_name } - -re "^\[^\r\n\]*\r\n" { + -line { exp_continue } } diff --git a/gdb/testsuite/gdb.base/solib-corrupted.exp b/gdb/testsuite/gdb.base/solib-corrupted.exp index 5ee943cae1..10adb9a0ba 100644 --- a/gdb/testsuite/gdb.base/solib-corrupted.exp +++ b/gdb/testsuite/gdb.base/solib-corrupted.exp @@ -50,7 +50,7 @@ gdb_test_multiple $test $test { } exp_continue } - -re "^\[^\r\n\]*\r\n" { + -line { exp_continue } -re "^$gdb_prompt $" { diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index d5e2295703..7fd783e786 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -792,6 +792,13 @@ proc gdb_internal_error_resync {} { # } # } # +# In EXPECT_ARGUMENTS, instead of -re "bla" we can use a few predefined +# regexps: +# * -line +# meaning -re "^\[^\r\n\]*\r\n" +# * -non-empty-line +# meaning -re "^\[^\r\n\]+\r\n" +# proc gdb_test_multiple { command message user_code { prompt_regexp "" } } { global verbose use_gdb_stub global gdb_prompt pagination_prompt @@ -867,6 +874,18 @@ proc gdb_test_multiple { command message user_code { prompt_regexp "" } } { lappend $current_list $item continue } + if { $item == "-line" } { + lappend $current_list -re + lappend $current_list "^\[^\r\n\]*\r\n" + set expecting_action 1 + continue + } + if { $item == "-non-empty-line" } { + lappend $current_list -re + lappend $current_list "^\[^\r\n\]+\r\n" + set expecting_action 1 + continue + } if { $item == "-early" } { set current_list "early_processed_code" continue