On Tue, May 04, 2010 at 10:39:59PM -0700, Junio C Hamano wrote: > It appears that the tip of 'maint' and 'next' (but curiously not 'master') > do not pass test t1504 on at least FreeBSD right now, but I don't have > enough energy to hunt things down tonight. The culprit is Jonathan's 3bf7886 (test-lib: Let tests specify commands to be run at end of test, 2010-05-02). FreeBSD's /bin/sh doesn't propagate $? over an eval: $ /bin/sh $ false; echo $? 1 $ false; eval 'echo $?' 0 $ eval 'false; echo $?' ;# but it still works inside, of course 1 Looking at that patch, I don't see any reason that eval_ret needs to be set inside the eval. If we have multiple test_when_finished calls, we keep setting and propagating eval_ret, which doesn't make much sense to me. Why not just: test_run_ () { test_cleanup= eval >&3 2>&4 "$1" eval_ret=$? eval >&3 2>&4 "$test_cleanup" return 0 } test_when_finished () { test_cleanup="$*; $test_cleanup" } Am I missing something? -Peff -- 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