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

Re: [PATCH v2 1/2] t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER

From
Jeff King <peff@peff.net>
Date
Mar 15, 2012, 13:24 UTC
Message-ID
<20120315132428.GB8467@sigill.intra.peff.net>
In-Reply-To
<7vk42ml5er.fsf@alter.siamese.dyndns.org>
On Wed, Mar 14, 2012 at 11:55:24PM -0700, Junio C Hamano wrote:
Show 18 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > On Wed, Mar 14, 2012 at 03:17:28PM -0700, Junio C Hamano wrote:
> >> This is probably not related to your patch, but
> >> 
> >> 	GIT_TEST_CREDENTIAL_HELPER=cache sh t0303-*.sh
> >> 
> >> passes OK for me while
> >> 
> >> 	make GIT_TEST_CREDENTIAL_HELPER=cache T=t0303-*.sh prove
> >> 
> >> seems to get stuck forever.
> >
> > It's because t0303 is the generic "test any helper" script, and does not
> > know how to clean up the credential-cache daemon. So the daemon sticks
> > around, holding onto a file descriptor that causes prove to hang.
> 
> And the reason why "sh t0303-*.sh" version does not have this problem is...?

Most helpers don't spawn a daemon that hangs around (and if they do, the instructions for killing said daemon are outside the scope of the helper protocol -- though I would recommend having an "exit" command, as credential-cache has). You could add something like:

  GIT_TEST_CREDENTIAL_HELPER='cache' \
  GIT_TEST_CREDENTIAL_HELPER_EXIT='git credential-cache exit' \
  ./t0303-*

But like I said, I didn't bother. If you are testing credential-cache, then use t0301, which handles this. If you are testing something external, use t0303. My external testing didn't require such an exit hook, so I didn't bother with it. If somebody writes a helper that requires such a hook, they can add it then. I didn't want to get into the business of guessing which hooks people might need (and it is not as if these tests are an end-user visible piece of code; they are purely a convenience for developers to test their implementations against the same battery of tests that credential-cache and credential-store use).

-Peff
Previous: Junio C HamanoNext: Jeff King
Message 16 of 23 in “prettify t0303-credential-helpers.sh”
  1. 0/2 prettify t0303-credential-helpers.shZbigniew Jędrzejewski-Szmek, Mar 12, 2012
  2. 1/2 t0303: set reason for skipping testsZbigniew Jędrzejewski-Szmek, Mar 12, 2012
  3. Jeff KingMar 12, 2012
  4. Zbigniew Jędrzejewski-SzmekMar 12, 2012
  5. Jeff KingMar 13, 2012
  6. Zbigniew Jędrzejewski-SzmekMar 14, 2012
  7. 1/2 t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPERZbigniew Jędrzejewski-Szmek, Mar 14, 2012
  8. 2/2 t0303: resurrect commit message as test documentationZbigniew Jędrzejewski-Szmek, Mar 14, 2012
  9. Junio C HamanoMar 14, 2012
  10. Jeff KingMar 15, 2012
  11. Junio C HamanoMar 15, 2012
  12. Zbigniew Jędrzejewski-SzmekMar 15, 2012
  13. 1/2 t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPERZbigniew Jędrzejewski-Szmek, Mar 15, 2012
  14. 2/2 t0303: resurrect commit message as test documentationZbigniew Jędrzejewski-Szmek, Mar 15, 2012
  15. Junio C HamanoMar 15, 2012
  16. Jeff KingMar 15, 2012
  17. Jeff KingMar 15, 2012
  18. Junio C HamanoMar 15, 2012
  19. Jeff KingMar 15, 2012
  20. 2/2 t0303: resurrect commit message as test documentationZbigniew Jędrzejewski-Szmek, Mar 12, 2012
  21. Jeff KingMar 12, 2012
  22. Jonathan NiederMar 12, 2012
  23. Jeff KingMar 13, 2012

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.