From: Jeff King Date: Thu, 15 Mar 2012 03:54:05 GMT Subject: Re: [PATCH v2 1/2] t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER 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: > > +$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. > 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