public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-2189] Relax type-printer regexp in libstdc++ test suite
@ 2023-06-29 13:23 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2023-06-29 13:23 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:c7ed2ccd590d9c0d0146f61c97ca6500910936b8

commit r14-2189-gc7ed2ccd590d9c0d0146f61c97ca6500910936b8
Author: Tom Tromey <tromey@adacore.com>
Date:   Thu Jun 22 07:35:02 2023 -0600

    Relax type-printer regexp in libstdc++ test suite
    
    The libstdc++ test suite checks whether gdb type printers are
    available like so:
    
        set do_whatis_tests [gdb_batch_check "python print(gdb.type_printers)" \
                               "\\\[\\\]"]
    
    This regexp assumes that the list of printers is empty.  However,
    sometimes it's convenient to ship a gdb that comes with some default
    printers, causing this to erroneously report that gdb is "too old".
    
    I believe the intent of this check is to ensure that gdb.type_printers
    exists -- not to check its starting value.  This patch changes the
    check to accept any Python list as output.
    
    Note that the patch doesn't look for the trailing "]".  I tried this
    but in my case the output was too long for expect.  It seemed fine to
    just check the start, as the point really is to reject the case where
    the command prints an error message.
    
    libstdc++-v3/ChangeLog
    
            * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
            regexp.

Diff:
---
 libstdc++-v3/testsuite/lib/gdb-test.exp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libstdc++-v3/testsuite/lib/gdb-test.exp b/libstdc++-v3/testsuite/lib/gdb-test.exp
index 3728a060aa4..d8e572ef7b3 100644
--- a/libstdc++-v3/testsuite/lib/gdb-test.exp
+++ b/libstdc++-v3/testsuite/lib/gdb-test.exp
@@ -107,8 +107,12 @@ proc gdb-test { marker {selector {}} {load_xmethods 0} } {
 	}
     }
 
+    # A very old version of gdb will not have the type_printers
+    # global.  Some organizations may ship a gdb that has some default
+    # type printers, so accept any list output as indication that the
+    # global exists.
     set do_whatis_tests [gdb_batch_check "python print(gdb.type_printers)" \
-			   "\\\[\\\]"]
+			   "\\\[.+"]
     if {!$do_whatis_tests} {
 	send_log "skipping 'whatis' tests - gdb too old"
     }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-06-29 13:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-29 13:23 [gcc r14-2189] Relax type-printer regexp in libstdc++ test suite Tom Tromey

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).