[PATCH] Fix latent bug in DWARF test case

Simon Marchi simon.marchi@polymtl.ca
Sun Oct 31 02:45:28 GMT 2021


On 2021-10-30 17:00, Tom Tromey wrote:
> On my branch that replaces the DWARF psymtab reader,
> dw2-stack-boundary.exp started failing.  However, when I look at the
> output in gdb.log, it is correct:
> 
>     file /home/tromey/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/dw2-stack-boundary/dw2-stack-boundary
>     Reading symbols from /home/tromey/gdb/build/gdb/testsuite/outputs/gdb.dwarf2/dw2-stack-boundary/dw2-stack-boundary...
>     During symbol reading: location description stack overflow
>     During symbol reading: location description stack underflow
> 
> What happens to cause the failure is that the two branches in
> gdb_test_multiple appear in this order:
> 
>     -re "\r\nDuring symbol reading: location description stack underflow" {
>     [...]
>     -re "\r\nDuring symbol reading: location description stack overflow" {
> 
> The first one will match the above, without causing the second one to
> ever match -- leading to a spurious failure.
> 
> Anchoring the regexps seems to fix the problem, and works for the
> current gdb as well.
> ---
>  gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
> index 8b81b5b2119..054d0c66e71 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
> @@ -44,11 +44,11 @@ gdb_test_multiple "file $binfile" "file command" {
>      -re "\r\nReading symbols from \[^\r\n\]*\\.\\.\\." {
>  	exp_continue
>      }
> -    -re "\r\nDuring symbol reading: location description stack underflow" {
> +    -re "^\r\nDuring symbol reading: location description stack underflow" {
>  	set w1 1
>  	exp_continue
>      }
> -    -re "\r\nDuring symbol reading: location description stack overflow" {
> +    -re "^\r\nDuring symbol reading: location description stack overflow" {
>  	set w2 1
>  	exp_continue
>      }
> 

This LGTM.  I'll try to remember this technique for when expecting
things that can be in different orders.

Simon


More information about the Gdb-patches mailing list