Subject: Re: [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl

From: Junio C Hamano <[email-masked]>
Date: Wed, 15 Jun 2022 11:29:16 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> The existing "CURL" prerequisite is only used in one place, and we
> should probably name it "CURL_PROGRAM",

True.  It probably wants to become a lazy prerequisite defined only
in that program.

> then rename "LIBCURL" to
> "CURL" as a follow-up, but for now (pre-v2.37.0) let's aim for the
> most minimal fix possible.

OK.

> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> ---
>  t/lib-httpd.sh        | 2 +-
>  t/t5516-fetch-push.sh | 4 ++--
>  t/t5601-clone.sh      | 4 ++--
>  t/test-lib.sh         | 1 +
>  4 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
> index 782891908d7..1f6b9b08d1d 100644
> --- a/t/lib-httpd.sh
> +++ b/t/lib-httpd.sh
> @@ -29,7 +29,7 @@
>  # Copyright (c) 2008 Clemens Buchacher <[email-masked]>
>  #
>  
> -if test -n "$NO_CURL"
> +if ! test_have_prereq LIBCURL
>  then
>  	skip_all='skipping test, git built without http support'
>  	test_done

This is not strictly needed in "the most minimal fix possible", is
it?  Just checking.

> diff --git a/t/t5516-fetch-push.sh b/t/t5516-fetch-push.sh
> index dedca106a7a..c1220b2ed35 100755
> --- a/t/t5516-fetch-push.sh
> +++ b/t/t5516-fetch-push.sh
> @@ -1834,7 +1834,7 @@ test_expect_success 'refuse to push a hidden ref, and make sure do not pollute t
>  	test_dir_is_empty testrepo/.git/objects/pack
>  '
>  
> -test_expect_success 'fetch warns or fails when using username:password' '
> +test_expect_success LIBCURL 'fetch warns or fails when using username:password' '

This _is_ needed.

> -test_expect_success 'push warns or fails when using username:password' '
> +test_expect_success LIBCURL 'push warns or fails when using username:password' '

So is this.

> -test_expect_success 'clone warns or fails when using username:password' '
> +test_expect_success LIBCURL 'clone warns or fails when using username:password' '

And this too.

> -test_expect_success 'clone does not detect username:password when it is https://username@domain:port/' '
> +test_expect_success LIBCURL 'clone does not detect username:password when it is https://username@domain:port/' '

And this too.

> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 736c6447ecf..02bc88c72b4 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -1572,6 +1572,7 @@ esac
>  test_set_prereq REFFILES
>  
>  ( COLUMNS=1 && test $COLUMNS = 1 ) && test_set_prereq COLUMNS_CAN_BE_1
> +test -z "$NO_CURL" && test_set_prereq LIBCURL

And this, of course.

>  test -z "$NO_PERL" && test_set_prereq PERL
>  test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
>  test -z "$NO_PYTHON" && test_set_prereq PYTHON