At Friday 11 June 2010, Jim Meyering wrote: > > diff --git a/tests/init.sh b/tests/init.sh > > index ef0957c..4eb4a95 100644 > > --- a/tests/init.sh > > +++ b/tests/init.sh > > @@ -97,12 +97,15 @@ else > > for re_shell_ in "${CONFIG_SHELL:-no_shell}" /bin/sh bash > > dash zsh pdksh fail do > > test "$re_shell_" = no_shell && continue > > - test "$re_shell_" = fail && skip_ failed to find an > > adequate shell + if test "$re_shell_" = fail; then > > + echo "$0: skipped test: failed to find an adequate > > shell" 1>&2 + exit 77 > > Did you deliberately choose not to use the "(exit 77); exit 77" > idiom from Exit()? If so, why? I thought the '(exit ...); exit ...' idiom to be necessary only when an exit trap is in place, to ensure that the code in the trap is passed the correct exit status in $?. Did I miss something?
> Did you consider simply hoisting the definitions > of Exit and/or ME_ to precede their first use? No, I just tried to fix the problem with the minimal amount of changes. Anyway, the absence of a decent shell and the failure of the exec call are very very unlikely situations, so IMHO it's not a big deal if the program name (`$0' instead of `$ME_') is suboptimal in the error messages associated with those situations. Of course, feel free to edit my changes as you see fit. Thanks for your review, Stefano