Junio C Hamano venit, vidit, dixit 25.04.2013 19:12: > Junio C Hamano <gitster@xxxxxxxxx> writes: > >> Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: >> >>> fc407f9 (Add new simplified git-remote-testgit, 2012-11-28) introduced a >>> test which was meant to skip the test unless the test shell is bash. >>> Unfortunately, it tests for the availability of bash only. >> >> True. >> >>> But users can >>> opt to use a different shell (using SHELL_PATH) for the tests even though >>> bash is available. >>> >>> At least for dash, >>> 21610d8 (transport-helper: clarify pushing without refspecs, 2013-04-17) >>> is the commit which actually introduces a test (pushing without refspec) >>> which fails to fail even though it is supposed to. It uses the >>> construct: >>> >>> VAR=value function arguments >> >> The right fix for that is to fix that line, so that the test itself >> can run under any sane POSIX shell, isn't it? The test in turn may >> need to run git-remote-testgit, which, without J6t's updates, only >> is usable under bash, but to make sure the test will choke on >> absence of bash, the existing check should be sufficient, no? > > Curiously enough, there were a few instances of the correct "set and > export environment explicitly during the life of subshell" construct > already in the script. I found only this one as problematic. > > Does it fix your issue without your change? > > It is a separate issue to port git-remote-testgit to POSIX (J6t > already has a two part draft), move it to git-remote-testgit.sh, and > get its shebang line preprocessed like all other shell scripts. I > think it is worth doing. > > Takers? > > t/t5801-remote-helpers.sh | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh > index 4dcf744..c956abd 100755 > --- a/t/t5801-remote-helpers.sh > +++ b/t/t5801-remote-helpers.sh > @@ -118,7 +118,9 @@ test_expect_success 'pushing without refspecs' ' > (cd local2 && > echo content >>file && > git commit -a -m ten && > - GIT_REMOTE_TESTGIT_REFSPEC="" test_must_fail git push 2>../error) && > + GIT_REMOTE_TESTGIT_REFSPEC="" && > + export GIT_REMOTE_TESTGIT_REFSPEC && > + test_must_fail git push 2>../error) && > grep "remote-helper doesn.t support push; refspec needed" error > ' > > Perfect, I just failed to notice that the subshell would make the export local to that test. Thanks! Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html