Re: [PATCH 06/18] chainlint.pl: validate test scripts in parallel
From: Eric Sunshine <hidden>
Date: 2022-11-21 18:48:09
On Mon, Nov 21, 2022 at 1:04 PM Jeff King [off-list ref] wrote:
On Sun, Nov 20, 2022 at 11:02:54PM -0500, Eric Sunshine wrote:quoted
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). 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.