On 15.01.13 21:38, Junio C Hamano wrote:
> Torsten Bögershausen <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html