On 15.01.13 21:38, Junio C Hamano wrote: > Torsten Bögershausen <tboegi@xxxxxx> writes: > >> What do we think about something like this for fishing for which: >> >> --- a/t/test-lib.sh >> +++ b/t/test-lib.sh >> @@ -644,6 +644,10 @@ yes () { >> : >> done >> } >> +which () { >> + echo >&2 "which is not portable (please use type)" >> + exit 1 >> +} >> >> >> This will happen in runtime, which might be good enough ? > > if ( > which frotz && > test $(frobonitz --version" -le 2.0 > ) > then > test_set_prereq FROTZ_FROBONITZ > else > echo >&2 "suitable Frotz/Frobonitz combo not available;" > echo >&2 "some tests may be skipped" > fi > > I somehow think this is a lost cause. I found different ways to detect if frotz is installed in the test suite: a) use "type" (Should be the fastest ?) b) call the command directly, check the exit code c) "! test_have_prereq" (easy to understand, propably most expensive ?) Do we really need "which" to detect if frotz is installed? /Torsten ============= if ! type cvs >/dev/null 2>&1 then skip_all='skipping cvsimport tests, cvs not found' test_done fi =========== if test -n "$BASH" && test -z "$POSIXLY_CORRECT"; then # we are in full-on bash mode true elif type bash >/dev/null 2>&1; then # execute in full-on bash mode unset POSIXLY_CORRECT exec bash "$0" "$@" else echo '1..0 #SKIP skipping bash completion tests; bash not available' exit 0 fi =============== svn >/dev/null 2>&1 if test $? -ne 1 then skip_all='skipping git svn tests, svn not found' test_done fi =============== ( p4 -h && p4d -h ) >/dev/null 2>&1 || { skip_all='skipping git p4 tests; no p4 or p4d' test_done } =============== if ! test_have_prereq PERL; then skip_all='skipping gitweb tests, perl not available' test_done fi -- 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