public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Andrew Burgess <andrew.burgess@embecosm.com>, gdb-patches@sourceware.org
Cc: "Maciej W. Rozycki" <macro@mips.com>
Subject: Re: [PATCH 3/3] gdb/testsuite: Handle targets with lots of registers
Date: Fri, 04 May 2018 12:47:00 -0000	[thread overview]
Message-ID: <0233be15-ab15-4877-1e49-7355d113afb7@redhat.com> (raw)
In-Reply-To: <20180504120124.GK3375@embecosm.com>

On 05/04/2018 01:01 PM, Andrew Burgess wrote:
> Thanks for the review feedback.
> 
> I've updated the patch below inline with Pedro's feedback, and
> included a header check as requested by Maciej.  I tested this on
> x86-64 and against RiscV which is the target that was originally
> causing me problems.

Thanks.

>  # Test for a regression where this command would internal-error if the
> -# program wasn't running.
> -gdb_test "maint print registers" "Name.*Nr.*Rel.*Offset.*Size.*Type.*"
> +# program wasn't running.  If there's a lot of registers then this
> +# might overflow expect's buffers, so process the output line at a
> +# time.
> +set saw_registers 0
> +set saw_headers 0
> +set test "maint print registers"
> +gdb_test_multiple $test $test {
> +    -re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\[\r\n\]+" {
> +	set saw_headers 1
> +	exp_continue
> +    }
> +    -re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
> +        set saw_registers 1
> +        exp_continue
> +    }
> +    -re "^\\*\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
> +        exp_continue
> +    }
> +    -re "$gdb_prompt $" {
> +        gdb_assert $saw_registers "$test: saw some registers"
> +        gdb_assert $saw_headers "$test: saw header line"

We try to avoid the potential for different FAIL / PASS
names/messages.  I.e., if the test times out, or gdb crashes,
you'll get "FAIL: $test" only , while if it reaches the prompt,
you'll get two tests recorded in gdb.sum.  The idea of matching
FAIL/PASS is to make it easier for scripts to distinguish
regressions/progressions vs new failures/passes.  (Text in
trailing ()s, like " (timeout)" is considered informational, and
can/should be stripped for test-matching purposes).  If you want to
record that the register and headers were seen, better put it in gdb.log,
with send_log or verbose -log, and do:

        gdb_assert {$saw_registers && $saw_headers} $test

OK with that change.

Thanks,
Pedro Alves

  reply	other threads:[~2018-05-04 12:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-09 15:15 [PATCH 0/3] Small testsuite updates Andrew Burgess
2018-04-09 15:15 ` [PATCH 3/3] gdb/testsuite: Handle targets with lots of registers Andrew Burgess
2018-04-12 23:40   ` Maciej W. Rozycki
2018-04-13 13:10     ` Pedro Alves
2018-04-13 13:57       ` Maciej W. Rozycki
2018-05-04 12:01         ` Andrew Burgess
2018-05-04 12:47           ` Pedro Alves [this message]
2018-04-09 15:15 ` [PATCH 1/3] gdb/testsuite: Fix broken regexp in gdbstub case Andrew Burgess
2018-04-13 12:12   ` Pedro Alves
2018-05-03 19:41     ` Andrew Burgess
2018-05-04  9:18       ` Pedro Alves
2018-04-09 15:15 ` [PATCH 2/3] gdb/testsuite: Filter out some registers for riscv Andrew Burgess
2018-04-09 21:28   ` Palmer Dabbelt
2018-04-09 22:26     ` Andrew Burgess
2018-04-10 20:25       ` Palmer Dabbelt
2018-04-13 12:55         ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0233be15-ab15-4877-1e49-7355d113afb7@redhat.com \
    --to=palves@redhat.com \
    --cc=andrew.burgess@embecosm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=macro@mips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).