From patchwork Sat Dec 17 00:07:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 55368 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AC6B53832E6A for ; Sat, 17 Dec 2022 00:09:02 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from gproxy3-pub.mail.unifiedlayer.com (gproxy3-pub.mail.unifiedlayer.com [69.89.30.42]) by sourceware.org (Postfix) with ESMTPS id 314963836D34 for ; Sat, 17 Dec 2022 00:08:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 314963836D34 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw12.mail.unifiedlayer.com (unknown [10.0.90.127]) by progateway5.mail.pro1.eigbox.com (Postfix) with ESMTP id A544F10047819 for ; Sat, 17 Dec 2022 00:08:30 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id 6Kkgp7KFLfWVl6KkgpAVQG; Sat, 17 Dec 2022 00:08:30 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=XoA/hXJ9 c=1 sm=1 tr=0 ts=639d087e a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=sHyYjHe8cH0A:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=CCpqsmhAAAAA:8 a=ijlDCtS67dGY7CiORYsA:9 a=fjwwDU95zkUA:10:demote_hacked_domain_1 a=ul9cdbp4aOFLsgKbc677:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject: To:From:Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=4bZGToZknXoROxqe/gDYUNB/hmldaMHN3sLfyfCSKwE=; b=swmEuYQlUT86+Y+ALgp4Tu/Mog AUb7ev56WHQW5wbSnilHF0qBkhW3mWyR395QJlKxCxiynnLd2NZdWp15uXiFVRfw87lyWAKWS/Ih9 1a7bSGceNI+fH9MrYG5oQi0Nw; Received: from 97-122-76-186.hlrn.qwest.net ([97.122.76.186]:60688 helo=localhost.localdomain) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1p6Kkg-002gaf-Gj for gdb-patches@sourceware.org; Fri, 16 Dec 2022 17:08:30 -0700 From: Tom Tromey To: gdb-patches@sourceware.org Subject: [PATCH 00/46] Rewrite "require" test procedure and use it more often Date: Fri, 16 Dec 2022 17:07:32 -0700 Message-Id: <20221217000818.3729389-1-tom@tromey.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.76.186 X-Source-L: No X-Exim-ID: 1p6Kkg-002gaf-Gj X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-76-186.hlrn.qwest.net (localhost.localdomain) [97.122.76.186]:60688 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3022.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" A recent patch by Enze Li made me revisit the "require" procedure. For his patch, see: https://sourceware.org/pipermail/gdb-patches/2022-December/194586.html This series rewrites "require" to be a bit more 'static' and then changes a lot of the test suite to use it when possible. I looked at a large number of tests, but not every single one, so it's possible some more work here could be done. The new 'require' just invokes simple predicates and decides what to do based on them. It will issue an "unsupported" message if the requirements are not satisfied. See patch #3. Currently the requirements should only be invoked when gdb is not running. At least, that's what I've done, I don't think there's a real barrier to doing this, other than the fact that the resulting code might be overly subtle. More changes here could be done, for example allowing uses like: require {is_remote host} or the like. I haven't tried this. The main benefit of this entire approach is that it removes boilerplate and decisions about whether to use verbose, unsupport, untested, or even no output at all. Regression tested on x86-64 Fedora 36, though TBH that's hardly sufficient. Let me know what you think. Tom