On 15.01.13 21:38, Junio C Hamano wrote:
> Torsten Bögershausen <tbo...@web.de> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to