t5561: skip tests if curl is not available

It's possible to have libcurl installed but not the curl
command-line utility. The latter is not generally needed for
Git's http support, but we use it in t5561 for basic tests
of http-backend's functionality. Let's detect when it's
missing and skip this test.

Note that we can't mark the individual tests with the CURL
prerequisite. They're in a shared t556x_common that uses the
GET and POST functions as a level of indirection, and it's
only our implementations of those functions in t5561 that
requires curl. It's not a problem, though, as literally
every test in the script would depend on the prerequisite
anyway.

Reported-by: Jens Krüger <Jens.Krueger@frm2.tum.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2018-04-03 10:01:57 -04:00 committed by Junio C Hamano
parent fcd9d7096f
commit e9184b0789
2 changed files with 10 additions and 0 deletions

View File

@ -3,6 +3,12 @@
test_description='test git-http-backend'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
if ! test_have_prereq CURL; then
skip_all='skipping raw http-backend tests, curl not available'
test_done
fi
start_httpd
GET() {

View File

@ -1187,3 +1187,7 @@ test_lazy_prereq LONG_IS_64BIT '
test_lazy_prereq TIME_IS_64BIT 'test-date is64bit'
test_lazy_prereq TIME_T_IS_64BIT 'test-date time_t-is64bit'
test_lazy_prereq CURL '
curl --version
'