From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id UdsvNgggWmpLgw4AWB0awg (envelope-from ) for ; Fri, 17 Jul 2026 08:28:56 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D821E1E09E; Fri, 17 Jul 2026 08:28:56 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2CAC21E099 for ; Fri, 17 Jul 2026 08:28:56 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5A4904BA23D8 for ; Fri, 17 Jul 2026 12:28:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5A4904BA23D8 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) by sourceware.org (Postfix) with ESMTPS id CD52D4BA23C3 for ; Fri, 17 Jul 2026 12:27:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CD52D4BA23C3 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CD52D4BA23C3 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784291278; cv=none; b=P/oGesUAQAr+F1gRwxbxSdK4G+FpddoY111b6RtqJuGTuzHad4qLbFsLPx+R2EOe6kjnL0ZYef38BIkjvprx163izO1MFQVmhkUATE2VYPoc1s15Rnvqz5PkA02Wev+C9X1qO+BrjyyljETiBPWT7VF56kZHLSrBUaJtKolOui4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1784291278; c=relaxed/simple; bh=N0y0mVihbTTPYM9OZigqwYw90WfrcqmidLMV0RqWZQc=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=WVm7EhvBuoqkUw2Dkl+rXqZGJjHHEgY5aaCAjGmuAgzXlts/mnouqHE2tAvk+MWfLT+TZ1O/tl8VI8j4pe9MEt2/i/qN2Qkq5xBJj8I2yVsexNGK+wP9ZaFrs5vPrmLRgWAQvS2BJhS88PH0+XI7KLtsKIi/FB45EtGRYk/MuiM= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=Pcvwgaa9; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=fQxl6cyF DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CD52D4BA23C3 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id DC9C378EB9 for ; Fri, 17 Jul 2026 12:27:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1784291276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=8o0c+0i0/iqj5gjAu4IXJM7MDF7MWDO5OxiqrF6hgII=; b=Pcvwgaa9R033oky3zq9HgFsGMpiLsOLLRgrGZdtUo+neVlWf+zQD5CY9e3IzVt1njcflIX vvpKYIyVDxK0HeP2vAEON35aZNoqb3IeVSijk9DtibYiy707Lr8vW5hSEKMhfDBKzmjFMw 3AcaFqzKw8ruwn3wGiXom8NSH+5L2ew= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1784291276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=8o0c+0i0/iqj5gjAu4IXJM7MDF7MWDO5OxiqrF6hgII=; b=fQxl6cyFYcemuYeV02gamaIbii+T4fzRTwL06M2os2n/o6rSwZrOsDHy4xsfXyB0c0Z6oo ZDaO7rYBjdynBfAw== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1784291276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=8o0c+0i0/iqj5gjAu4IXJM7MDF7MWDO5OxiqrF6hgII=; b=Pcvwgaa9R033oky3zq9HgFsGMpiLsOLLRgrGZdtUo+neVlWf+zQD5CY9e3IzVt1njcflIX vvpKYIyVDxK0HeP2vAEON35aZNoqb3IeVSijk9DtibYiy707Lr8vW5hSEKMhfDBKzmjFMw 3AcaFqzKw8ruwn3wGiXom8NSH+5L2ew= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1784291276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=8o0c+0i0/iqj5gjAu4IXJM7MDF7MWDO5OxiqrF6hgII=; b=fQxl6cyFYcemuYeV02gamaIbii+T4fzRTwL06M2os2n/o6rSwZrOsDHy4xsfXyB0c0Z6oo ZDaO7rYBjdynBfAw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C6DE3779AA for ; Fri, 17 Jul 2026 12:27:56 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id RfkoL8wfWmpLKgAAD6G6ig (envelope-from ) for ; Fri, 17 Jul 2026 12:27:56 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb/testsuite] Improve gdb.src/pre-commit.exp Date: Fri, 17 Jul 2026 14:27:56 +0200 Message-ID: <20260717122756.51352-1-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,sourceware.org:url]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Test-case gdb.src/pre-commit.exp runs all the pre-commit stage hooks, but produces a single pass: ... PASS: gdb.src/pre-commit.exp: pre-commit checks ... Use a dummy run to find all the hooks, and then run them one by one, producing instead the more informative: ... PASS: gdb.src/pre-commit.exp: pre-commit: black: run PASS: gdb.src/pre-commit.exp: pre-commit: flake8: run PASS: gdb.src/pre-commit.exp: pre-commit: isort: run PASS: gdb.src/pre-commit.exp: pre-commit: codespell: run PASS: gdb.src/pre-commit.exp: pre-commit: tclint: run PASS: gdb.src/pre-commit.exp: pre-commit: check-include-guards: run PASS: gdb.src/pre-commit.exp: pre-commit: check-whitespace: run PASS: gdb.src/pre-commit.exp: pre-commit: check-file-mode: run ... This allows us to get rid of the current SKIP kludge for the pre-commit-setup hook. Also skip the gnu-check-style hook, since it only checks patches, not files. While we're at it, also bail out with unsupported if the pre-commit version is too old, fixing PR testsuite/33945. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33945 --- gdb/testsuite/gdb.src/pre-commit.exp | 39 +++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/gdb.src/pre-commit.exp b/gdb/testsuite/gdb.src/pre-commit.exp index 82225f3d652..debf86df19a 100644 --- a/gdb/testsuite/gdb.src/pre-commit.exp +++ b/gdb/testsuite/gdb.src/pre-commit.exp @@ -31,13 +31,40 @@ with_cwd $repodir { return } - # Skip the pre-commit-setup check. It checks the repository setup, not - # the sources. - setenv SKIP pre-commit-setup + set result [remote_exec build "pre-commit run --files foo/bar.c"] + set output [lindex $result 1] - set result [remote_exec build "pre-commit run --all-files -v"] - set status [lindex $result 0] - gdb_assert {$status == 0} "pre-commit checks" + set re \ + {pre-commit version [0-9.]* is required but version [0-9.]* is installed} + if {[regexp $re $output]} { + unsupported "pre-commit too old" + return + } + + with_test_prefix pre-commit { + set re {^[a-zA-Z0-9][a-zA-Z0-9_-]+} + set hook_list [regexp -lineanchor -all -inline $re $output] + gdb_assert {[llength $hook_list] != 0} "get hooks" + + foreach hook $hook_list { + if {$hook == "pre-commit-setup"} { + # Skip the pre-commit-setup check. It checks the repository + # setup, not the sources. + continue + } + if {$hook == "check-gnu-style"} { + # Skip the check-gnu-style check. It checks patches, not the + # sources. + continue + } + + with_test_prefix $hook { + set result [remote_exec build "pre-commit run $hook --all-files -v"] + set status [lindex $result 0] + gdb_assert {$status == 0} "run" + } + } + } with_test_prefix commit-msg { set commit_msg [build_standard_output_file "commit-msg.txt"] base-commit: 0cdde1399d2d453569fe91c55b34b4879f8a6501 -- 2.51.0