public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Lancelot SIX <lancelot.six@amd.com>
To: Guinevere Larsen <blarsen@redhat.com>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH v2 1/2] gdb/testsuite: fix gdb.threads/threadcrash.exp on 32-bit arm targets
Date: Thu, 15 Feb 2024 14:31:42 +0000	[thread overview]
Message-ID: <20240215143142.tjelya5pgmlg3dxo@khazad-dum> (raw)
In-Reply-To: <20240213110924.123394-3-blarsen@redhat.com>

Hi Gwen,

On Tue, Feb 13, 2024 at 12:09:24PM +0100, Guinevere Larsen wrote:
> There are 2 issues with the test gdb.threads/threadcrash.exp on arm
> targets, both relating to issues in how the targets handles gcores. The
> first is that the test fails to cout the number of threads in the
> inferior and the second is that GDB can't properly backtrace from a
> gcore.
> 
> The first error is fixed on this commit by getting the convenience
> variable _inferior_thread_count as opposed to calculating it based on
> the output of "info threads"
> 
> For the second, this test just emits a single xfail referring back to PR
> corefiles/31294, which tracks the issues with gcores in 32-bit arm
> targets.
> 
> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31294
> ---
>  gdb/testsuite/gdb.threads/threadcrash.exp | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.threads/threadcrash.exp b/gdb/testsuite/gdb.threads/threadcrash.exp
> index 996e020d1e8..6c638838043 100644
> --- a/gdb/testsuite/gdb.threads/threadcrash.exp
> +++ b/gdb/testsuite/gdb.threads/threadcrash.exp
> @@ -27,12 +27,9 @@
>  proc test_thread_count {} {
>      set thread_count 0
>  
> -    gdb_test_multiple "info threads" "getting thread count" -lbl {
> -	-re "Thread" {
> -	    incr thread_count
> -	    exp_continue
> -	}
> -	-re "$::gdb_prompt " {
> +    gdb_test_multiple "print \$_inferior_thread_count" "getting thread count" {
> +	-re ".* = (\[0-9]+).*" {
> +	    set thread_count $expect_out(1,string)
>  	    gdb_assert {$thread_count == 7}
>  	}
>      }

Out of the box, this fails for me

    Running /home/lancesix/src/worktrees/gdb/upstream-master/_build/gdb/testsuite/../../../gdb/testsuite/gdb.threads/threadcrash.exp ...
    FAIL: gdb.threads/threadcrash.exp: test_live_inferior: $thread_count == [llength $test_list]
    FAIL: gdb.threads/threadcrash.exp: test_corefile: $thread_count == [llength $test_list]
    FAIL: gdb.threads/threadcrash.exp: test_gcore: $thread_count == [llength $test_list]

Also, I think you could use get_valueof here, to make things simpler,
and avoid the issue of not not consuming the entire exp buffer:

    proc test_thread_count {} {
        set thread_count [get_valueof /d \$_inferior_thread_count 0]
        gdb_assert {$thread_count == 7}
        return $thread_count
    }

Best,
Lancelot.

> @@ -230,4 +227,8 @@ test_live_inferior
>  
>  test_corefile
>  
> -test_gcore
> +if { [is_aarch32_target] } {
> +    kfail "gcore tests fail on 32-bit arm, see PR corefiles/31294"
> +} else {
> +    test_gcore
> +}
> 
> -- 
> 2.43.0
> 

  reply	other threads:[~2024-02-15 14:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-13 11:09 [PATCH v2 0/2] Fixes to gdb.threads/threadcrash.exp Guinevere Larsen
2024-02-13 11:09 ` [PATCH v2 1/2] gdb/testsuite: fix gdb.threads/threadcrash.exp on 32-bit arm targets Guinevere Larsen
2024-02-15 14:31   ` Lancelot SIX [this message]
2024-02-13 11:09 ` [PATCH v2 2/2] gdb/testsuite: reduce gdb.threads/threadcrash.exp reliance on libc symbols Guinevere Larsen

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=20240215143142.tjelya5pgmlg3dxo@khazad-dum \
    --to=lancelot.six@amd.com \
    --cc=blarsen@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /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).