Re: Request for Help - Too many perl arguments as of 2.43.0-rc0
On Sat, Nov 4, 2023 at 9:49 AM Jeff King <peff@peff.net> wrote:
Show 14 quoted lines
> On Sat, Nov 04, 2023 at 02:36:48AM -0400, Eric Sunshine wrote:
> > I don't see an urgent need for it. Unlike the actual tests themselves
> > run by `make test` which may catch platform-specific problems in Git
> > itself, the purpose of the "linting" checks is not to catch
> > platform-specific problems, but rather to help test authors by
> > identifying mistakes in the tests which might make them fragile. So,
> > disabling linting on a particular platform isn't going to cause `make
> > test` to miss some important Git problem specific to that platform.
>
> Hmm. With compilation, we split the audience of "developers" vs "people
> who just want to build the program", and we crank up the number and
> severity of warning checks for the former. We could do the same here for
> tests. I.e., turn off test linting by default and re-enable it for
> DEVELOPER=1.
My knee-jerk reaction is that this would move us in the wrong direction since it is probable that most drive-by contributors won't have DEVELOPER=1 set, yet they are the ones who are likely to benefit most from test script linting (which is not to say that it doesn't help seasoned contributors, as well).
> OTOH, this is the first time I think I've seen the linting cause a
> problem (whereas unexpected compile warnings are much more likely, as we
> are depending on the system compiler's behavior).
There have been a few other times when the linting scripts have needed a tweak or two to work properly on some less-well-represented platform, but they were minor issues[1,2,3,4].
> So consider it an idle thought for discussion, and not necessarily a
> proposal. ;)
As noted in my response to Junio[5], in the long run, we may want to go with Ævar's idea of having `make` track changes to the test scripts, thus only run linting on an as-needed basis.
[1]: a3c4c8841c (tests: use shorter labels in chainlint.sed for AIX sed, 2018-08-24) [2]: 2d9ded8acc (tests: fix comment syntax in chainlint.sed for AIX sed, 2018-08-24) [3]: b3b753b104 (Fit to Plan 9's ANSI/POSIX compatibility layer, 2020-09-10) [4]: 1f51b77f4f (chainlint.pl: fix /proc/cpuinfo regexp, 2022-11-22) [5]: https://lore.kernel.org/git/CAPig+cSC8m5a8PhMw_eJbswwNB-VgBt+n56HSTLLabV9_+y--g@mail.gmail.com/