Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries via Gdb-patches <gdb-patches@sourceware.org>
To: gdb-patches@sourceware.org
Subject: [committed][gdb/testsuite] Handle supports_memtag in gdb.base/gdb-caching-proc.exp
Date: Tue, 21 Sep 2021 12:07:01 +0200	[thread overview]
Message-ID: <20210921100655.GA21585@delia> (raw)

Hi,

In test-case gdb.base/gdb-caching-proc.exp, we run all procs declared with
gdb_caching_proc.  Some of these require a gdb instance, some not.

We could just do a clean_restart every time, but that would amount to 44 gdb
restarts.  We try to minimize this by doing this only for the few procs that
need it, and hardcoding those in the test-case.

For those procs, we do a clean_restart, execute the proc, and then do a
gdb_exit, to make sure the gdb instance doesn't linger such that we detect
procs that need a gdb instance but are not listed in the test-case.

However, that doesn't work in the case of gnat_runtime_has_debug_info.  This
proc doesn't require a gdb instance because it starts its own.  But it doesn't
clean up the gdb instance, and since it's not listed, the test-case
doesn't clean up the gdb instance eiter.  Consequently, the proc
supports_memtag (which should be listed, but isn't) uses the gdb instance
started by gnat_runtime_has_debug_info rather than throwing an error.  Well,
unless gnat_runtime_has_debug_info fails before starting a gdb instance, in
which case we do run into the error.

Fix this by:
- doing gdb_exit unconditionally
- fixing the resulting error by adding supports_memtag in the test-case to
  the "needing gdb instance" list

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Handle supports_memtag in gdb.base/gdb-caching-proc.exp

---
 gdb/testsuite/gdb.base/gdb-caching-proc.exp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gdb/testsuite/gdb.base/gdb-caching-proc.exp b/gdb/testsuite/gdb.base/gdb-caching-proc.exp
index 82675dfc061..a3f08f5db32 100644
--- a/gdb/testsuite/gdb.base/gdb-caching-proc.exp
+++ b/gdb/testsuite/gdb.base/gdb-caching-proc.exp
@@ -85,6 +85,7 @@ proc test_file { file } {
 	    switch $procname {
 		"is_address_zero_readable" { set setup_gdb 1 }
 		"target_is_gdbserver" { set setup_gdb 1 }
+		"supports_memtag" { set setup_gdb 1 }
 		default {set setup_gdb 0 }
 	    }
 
@@ -94,9 +95,7 @@ proc test_file { file } {
 
 	    test_proc $procname
 
-	    if { $setup_gdb } {
-		gdb_exit
-	    }
+	    gdb_exit
 	}
     }
 }

                 reply	other threads:[~2021-09-21 10:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20210921100655.GA21585@delia \
    --to=gdb-patches@sourceware.org \
    --cc=tdevries@suse.de \
    /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