git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/8] Resend of GIT_TEST_PROTOCOL_VERSION patches

From
Jeff King <peff@peff.net>
Date
Feb 6, 2019, 22:10 UTC
Message-ID
<20190206221008.GB15378@sigill.intra.peff.net>
In-Reply-To
<87ef8klh4g.fsf@evledraar.gmail.com>
On Wed, Feb 06, 2019 at 10:52:15PM +0100, Ævar Arnfjörð Bjarmason wrote:
Show 20 quoted lines
> > 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.

But what's the point of that? Don't you always have to run the test suite _twice_, once with the special variable and once without? Otherwise, you are not testing one case or the other.

Or are you arguing that one might set many special variables in one go (to prefer running the suite only twice, instead of 2^N times). In which case we are better off running the test (as opposed to skipping it), as it might use one of the _other_ special variables besides GIT_TEST_PROTOCOL_VERSION.

I can buy that line of reasoning. It still doesn't cover all cases that a true 2^N test would, but that clearly isn't going to be practical.

-Peff
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 23 of 26 in “Resend of GIT_TEST_PROTOCOL_VERSION patches”
  1. 0/8 Resend of GIT_TEST_PROTOCOL_VERSION patchesJonathan Tan, Feb 6, 2019
  2. 1/8 tests: define GIT_TEST_PROTOCOL_VERSIONJonathan Tan, Feb 6, 2019
  3. Ævar Arnfjörð BjarmasonFeb 6, 2019
  4. Jonathan TanFeb 7, 2019
  5. Jeff KingFeb 11, 2019
  6. 2/8 tests: always test fetch of unreachable with v0Jonathan Tan, Feb 6, 2019
  7. Jeff KingFeb 11, 2019
  8. Jonathan TanFeb 14, 2019
  9. Jeff KingFeb 21, 2019
  10. Junio C HamanoFeb 22, 2019
  11. Jeff KingFeb 23, 2019
  12. 3/8 t5503: fix overspecification of trace expectationJonathan Tan, Feb 6, 2019
  13. 4/8 t5512: compensate for v0 only sending HEAD symrefsJonathan Tan, Feb 6, 2019
  14. 5/8 t5700: only run with protocol version 1Jonathan Tan, Feb 6, 2019
  15. 6/8 tests: fix protocol version for overspecificationsJonathan Tan, Feb 6, 2019
  16. 7/8 t5552: compensate for v2 filtering ref adv.Jonathan Tan, Feb 6, 2019
  17. 8/8 remote-curl: in v2, fill credentials if neededJonathan Tan, Feb 6, 2019
  18. Jeff KingFeb 6, 2019
  19. Jonathan TanFeb 11, 2019
  20. Jeff KingFeb 11, 2019
  21. Jeff KingFeb 6, 2019
  22. Ævar Arnfjörð BjarmasonFeb 6, 2019
  23. Jeff KingFeb 6, 2019
  24. Ævar Arnfjörð BjarmasonFeb 6, 2019
  25. Jeff KingFeb 6, 2019
  26. Ævar Arnfjörð BjarmasonFeb 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.