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

Re: [PATCH 2/8] tests: always test fetch of unreachable with v0

From
Jeff King <peff@peff.net>
Date
Feb 23, 2019, 13:25 UTC
Message-ID
<20190223132509.GC22403@sigill.intra.peff.net>
In-Reply-To
<xmqqimxbpn2p.fsf@gitster-ct.c.googlers.com>
On Fri, Feb 22, 2019 at 12:47:42PM -0800, Junio C Hamano wrote:
Show 20 quoted lines
> >> We can do so now either by "blaming" one and finding the originating
> >> commit, or by searching for "support fetching unadvertised objects" (I
> >> used the same comment everywhere in the commit [1] so that people can do
> >> this), but I don't know how to enforce this for future work. (We can add
> >> a special variable, but I think it's unnecessary and we can't enforce
> >> that people use that new special variable instead of
> >> GIT_TEST_PROTOCOL_VERSION anyway.)
> >
> > Yeah, I think we can find them once we know they need fixing. I was more
> > wondering whether we would remember to do so. I.e., is there a way the
> > test suite could remind us when our assumptions change. I can't think of
> > an easy way to do so, though.
> 
> Perhaps looking it a different way may help.  Instead of saying "v2
> will not protect unreachable objects, so this test must be run with
> v0", think of it like "Git ought to protect unreachable objects, so
> test with different versions of protocols to make sure all satisfy
> the requirement---for now, v2 is known to be broken, so write it
> with test_expect_failure".  IOW, have one test for each version,
> some of them may document a known breakage.

Ah, yeah, that would work. It means writing out the test twice, once for each protocol version. But if we're explicitly expecting two different behaviors, then that's exactly what we ought to be doing.

I'm still not sure if there's consensus on whether the v2 behavior is a problem or not, though.

-Peff
Previous: Junio C HamanoNext: Jonathan Tan
Message 11 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.