Re: [PATCH 0/8] Resend of GIT_TEST_PROTOCOL_VERSION patches
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Feb 6, 2019, 21:52 UTC
- Message-ID
- <87ef8klh4g.fsf@evledraar.gmail.com>
- In-Reply-To
- <20190206213458.GC12737@sigill.intra.peff.net>
On Wed, Feb 06 2019, Jeff King wrote:
Show 34 quoted lines
> On Tue, Feb 05, 2019 at 04:21:14PM -0800, Jonathan Tan wrote:
>
>> This is on the latest master (8feddda32c ("Fifth batch for 2.21",
>> 2019-02-05)) + js/protocol-advertise-multi.
>>
>> This is a resend of [1], which was built on the result of merging many
>> branches. Now that most of the branches have been merged to master, I
>> have rebased it on master. The only branch that I needed to merge was
>> js/protocol-advertise-multi.
>
> Thanks for working on this. With the exception of the final patch, this
> all seems pretty sane to me from a quick look.
>
> There is one thing that your test patches made me wonder. When we have
> to make an exception to a test (i.e., that doesn't work under v2), you
> do it by unsetting GIT_TEST_PROTOCOL_VERSION in the environment. That
> means we'll actually run the test, but not with the version that the
> caller specified.
>
> I wonder if it would be more obvious what's going on if we instead had a
> prereq like:
>
> test_expect_success !PROTO_V2 'ls-remote --symref' '
> ...
> '
>
> and just skipped those tests entirely (and in a way that appears in the
> TAP output).
>
> I think it would also future-proof us a bit for v2 becoming the default
> (i.e., when GIT_TEST_PROTOCOL_VERSION being blank does mean "use v2").
>
> I dunno. It probably doesn't matter all that much, so it may not be
> worth going back and changing at this point. Just a thought.So far we've had the convention that these GIT_TEST_* variables, e.g. the one for the commit graph, work the same way. Thus we guarantee that we get (in theory) 100% coverage even when running the tests in this special mode. I think it's better to keep it as-is.