From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2C5AC4332F for ; Mon, 21 Nov 2022 18:52:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229832AbiKUSwr (ORCPT ); Mon, 21 Nov 2022 13:52:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56404 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229766AbiKUSwp (ORCPT ); Mon, 21 Nov 2022 13:52:45 -0500 Received: from cloud.peff.net (cloud.peff.net [104.130.231.41]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8554021BB for ; Mon, 21 Nov 2022 10:52:40 -0800 (PST) Received: (qmail 12366 invoked by uid 109); 21 Nov 2022 18:52:40 -0000 Received: from Unknown (HELO peff.net) (10.0.1.2) by cloud.peff.net (qpsmtpd/0.94) with ESMTP; Mon, 21 Nov 2022 18:52:40 +0000 Authentication-Results: cloud.peff.net; auth=none Received: (qmail 26381 invoked by uid 111); 21 Nov 2022 18:52:40 -0000 Received: from coredump.intra.peff.net (HELO sigill.intra.peff.net) (10.0.0.2) by peff.net (qpsmtpd/0.94) with (TLS_AES_256_GCM_SHA384 encrypted) ESMTPS; Mon, 21 Nov 2022 13:52:40 -0500 Authentication-Results: peff.net; auth=none Date: Mon, 21 Nov 2022 13:52:39 -0500 From: Jeff King To: Eric Sunshine Cc: Eric Wong , Eric Sunshine via GitGitGadget , Git List , Elijah Newren , =?utf-8?B?w4Z2YXIgQXJuZmrDtnLDsA==?= Bjarmason , Fabian Stelzer , Johannes Schindelin Subject: Re: [PATCH 06/18] chainlint.pl: validate test scripts in parallel Message-ID: References: <62fc652eb47a4df83d88a197e376f28dbbab3b52.1661992197.git.gitgitgadget@gmail.com> <20220906223537.M956576@dcvr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Mon, Nov 21, 2022 at 01:47:42PM -0500, Eric Sunshine wrote: > On Mon, Nov 21, 2022 at 1:04 PM Jeff King wrote: > > On Sun, Nov 20, 2022 at 11:02:54PM -0500, Eric Sunshine wrote: > > > Overall, I think Ævar's plan to parallelize linting via "make" is > > > probably the way to go. > > > > TBH, I think just running the linter once per test script when the > > script is run would be sufficient. That is one extra process per script, > > but they are already shell scripts running a bunch of processes. You get > > parallelism for free because you're already running the tests in > > parallel. You lose out on "don't bother linting because the file hasn't > > changed", but I'm not sure that's really worth the extra complexity > > overall. > > Hmm, yes, that's appealing (especially since I've essentially given up > on making linting fast on Windows), and it wouldn't be hard to > implement. In fact, it's already implemented by 23a14f3016 (test-lib: > replace chainlint.sed with chainlint.pl, 2022-09-01); making it work > the way you describe would just involve dropping 69b9924b87 > (t/Makefile: teach `make test` and `make prove` to run chainlint.pl, > 2022-09-01) and 29fb2ec384 (chainlint.pl: validate test scripts in > parallel, 2022-09-01). Yes, that was one of the modes I timed in my original email. :) > I think Ævar's use-case for `make` parallelization was to speed up > git-bisect runs. But thinking about it now, the likelihood of "lint" > problems cropping up during a git-bisect run is effectively nil, in > which case setting GIT_TEST_CHAIN_LINT=1 should be a perfectly > appropriate way to take linting out of the equation when bisecting. Yes. It's also dumb to run a straight "make test" while bisecting in the first place, because you are going to run a zillion tests that aren't relevant to your bisection. Bisecting on "cd t && ./test-that-fails" is faster, at which point you're only running the one lint process (and if it really bothers you, you can disable chain lint as you suggest). -Peff