Re: [PATCH 21/25] t5000-t5999: fix broken &&-chains
- From
Jeff King <peff@peff.net>
- Date
- Jul 12, 2018, 18:19 UTC
- Message-ID
- <20180712181955.GA13268@sigill.intra.peff.net>
- In-Reply-To
- <CAPig+cRYNo_KL02LN1LOa79Zm2oYZqbnBHJ=KDA3oaF4pVfjcA@mail.gmail.com>
On Thu, Jul 12, 2018 at 01:44:49PM -0400, Eric Sunshine wrote:
Show 18 quoted lines
> On Thu, Jul 12, 2018 at 8:37 AM SZEDER Gábor <szeder.dev@gmail.com> wrote: > > The change below should be squashed into this patch to fix a > > previously unnoticed broken &&-chain. I think you missed it, because > > this test script is rather expensive and you didn't run it with > > GIT_TEST_CLONE_2GB=YesPlease. > > > > diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh > > @@ -23,7 +23,7 @@ test_expect_success CLONE_2GB 'setup' ' > > - echo "M 100644 :$i $i" >> commit > > + echo "M 100644 :$i $i" >> commit && > > Thanks for finding this. I tried to get as much coverage as possible > by installing packages I don't normally have installed (Apache, cvs, > cvsps, Subversion, Perforce, etc.) and even temporarily modified a > script or two to force it run when I simply couldn't meet some > prerequisite, thus reducing the "skipped" messages to a minimum, but I > wasn't even aware of this prerequisite since I never saw a "skipped" > message for it.
I think in theory we should be able to lint _every_ test, even if we're not running it. After all, the point is that a proper linting runs zero commands.
That said, it may not be worth the implementation effort. The linting happens at a pretty low-level, and we've already decided to skip tests long before then (even for single prereqs, let alone skip_all cases where we exit the script early).
Show 5 quoted lines
> Looking at it more closely, I think the reason it didn't come to my > attention is that this script doesn't use the standard skip_all="..." > mechanism for skipping the tests but instead "rolls its own", and > apparently 'prove' simply swallowed (or was unable to produce) an > overall "skipped" message for this script.
Yeah, that is a bit funny. For a whole-test skip like this, I think skip_all is easier to read, as it is immediately apparent to the reader that nothing that _doesn't_ meet that prereq should be in the file. So I'd be happy to see it switched (though it's not _that_ big a deal, so leaving it is fine, too).
By the way, "prove --directives" can help with finding individual skipped tests.
-Peff