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, 03:54 UTC
- Message-ID
- <20120315035405.GA4149@sigill.intra.peff.net>
- In-Reply-To
- <7v8vj2omiv.fsf@alter.siamese.dyndns.org>
On Wed, Mar 14, 2012 at 03:17:28PM -0700, Junio C Hamano wrote:
Show 8 quoted lines
> > +$GIT_TEST_CREDENTIAL_HELPER_SETUP > > This used to be 'test -z "$it" || eval "$it"'; doesn't it make a > difference? > > What is the value expected to be in this variable? Nobody seems to set it > in our codebase, so I cannot say "with the current code, this rewrite is > safe" or anything like that.
I think eval is a better route, as it gives the caller more flexibility about what shell code to run. The only use is here:
http://article.gmane.org/gmane.comp.version-control.git/186757
which does work either way.
Show 9 quoted lines
> 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. If you look at t0301 (which runs the same tests on credential-cache), we kill the resulting daemon explicitly. t0303 could learn hooks to do this, but I didn't bother, as I didn't need them for testing the osxkeychain helper (which is the only thing I've used t0303 for, as t0301 and t0302 cover the in-tree helpers). I figured that somebody could add the hooks easily if and when they needed.
-Peff