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>

Jeff King committed Apr 3, 2018 at 10:01 UTC e9184b0789abdcc701e75d731bfd2b126b599490
2 files changed +10
t/t5561-http-backend.sh
+6
@@ -3,6 +3,12 @@
3 test_description='test git-http-backend'
4 . ./test-lib.sh
5 . "$TEST_DIRECTORY"/lib-httpd.sh
6 +
7 +if ! test_have_prereq CURL; then
8 + skip_all='skipping raw http-backend tests, curl not available'
9 + test_done
10 +fi
11 +
12 start_httpd
13
14 GET() {
t/test-lib.sh
+4
@@ -1187,3 +1187,7 @@ test_lazy_prereq LONG_IS_64BIT '
1187
1188 test_lazy_prereq TIME_IS_64BIT 'test-date is64bit'
1189 test_lazy_prereq TIME_T_IS_64BIT 'test-date time_t-is64bit'
1190 +
1191 +test_lazy_prereq CURL '
1192 + curl --version
1193 +'