git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/1] For v2.37.0: fix tests breaking with NO_CURL=Y
@ 2022-06-15 10:36 Ævar Arnfjörð Bjarmason
  2022-06-15 10:36 ` [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 5+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-06-15 10:36 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Derrick Stolee,
	Ævar Arnfjörð Bjarmason

The fetch.credentialsInUrl inadvertently broke with NO_CURL=Y builds,
which I'm e.g. spotting in my GCC farm testing. This fixes it.

Ævar Arnfjörð Bjarmason (1):
  tests: add LIBCURL prerequisite to tests needing libcurl

 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(-)

-- 
2.36.1.1239.gfba91521d90


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl
  2022-06-15 10:36 [PATCH 0/1] For v2.37.0: fix tests breaking with NO_CURL=Y Ævar Arnfjörð Bjarmason
@ 2022-06-15 10:36 ` Ævar Arnfjörð Bjarmason
  2022-06-15 18:29   ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-06-15 10:36 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, Derrick Stolee,
	Ævar Arnfjörð Bjarmason

Add and use a LIBCURL prerequisite for tests added in
6dcbdc0d661 (remote: create fetch.credentialsInUrl config,
2022-06-06).

These tests would get as far as emitting a couple of the warnings we
were testing for, but would then die as we had no "git-remote-https"
program compiled.

It would be more consistent with other prerequisites (e.g. PERL for
NO_PERL) to name this "CURL", but since e9184b0789a (t5561: skip tests
if curl is not available, 2018-04-03) we've had that prerequisite
defined for checking of we have the curl(1) program.

The existing "CURL" prerequisite is only used in one place, and we
should probably name it "CURL_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.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 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 <drizzd@aon.at>
 #
 
-if test -n "$NO_CURL"
+if ! test_have_prereq LIBCURL
 then
 	skip_all='skipping test, git built without http support'
 	test_done
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' '
 	message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
 	test_must_fail git -c fetch.credentialsInUrl=allow fetch https://username:password@localhost 2>err &&
 	! grep "$message" err &&
@@ -1853,7 +1853,7 @@ test_expect_success 'fetch warns or fails when using username:password' '
 '
 
 
-test_expect_success 'push warns or fails when using username:password' '
+test_expect_success LIBCURL 'push warns or fails when using username:password' '
 	message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
 	test_must_fail git -c fetch.credentialsInUrl=allow push https://username:password@localhost 2>err &&
 	! grep "$message" err &&
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index d2f046b4b92..eeed233362d 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -71,7 +71,7 @@ test_expect_success 'clone respects GIT_WORK_TREE' '
 
 '
 
-test_expect_success 'clone warns or fails when using username:password' '
+test_expect_success LIBCURL 'clone warns or fails when using username:password' '
 	message="URL '\''https://username:<redacted>@localhost/'\'' uses plaintext credentials" &&
 	test_must_fail git -c fetch.credentialsInUrl=allow clone https://username:password@localhost attempt1 2>err &&
 	! grep "$message" err &&
@@ -89,7 +89,7 @@ test_expect_success 'clone warns or fails when using username:password' '
 	test_line_count = 1 warnings
 '
 
-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/' '
 	test_must_fail git -c fetch.credentialsInUrl=warn clone https://username@localhost:8080 attempt3 2>err &&
 	! grep "uses plaintext credentials" err
 '
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
 test -z "$NO_PERL" && test_set_prereq PERL
 test -z "$NO_PTHREADS" && test_set_prereq PTHREADS
 test -z "$NO_PYTHON" && test_set_prereq PYTHON
-- 
2.36.1.1239.gfba91521d90


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl
  2022-06-15 10:36 ` [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl Ævar Arnfjörð Bjarmason
@ 2022-06-15 18:29   ` Junio C Hamano
  2022-06-15 20:28     ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2022-06-15 18:29 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason; +Cc: git, Derrick Stolee

Ævar Arnfjörð Bjarmason  <avarab@gmail.com> 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 <avarab@gmail.com>
> ---
>  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 <drizzd@aon.at>
>  #
>  
> -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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl
  2022-06-15 18:29   ` Junio C Hamano
@ 2022-06-15 20:28     ` Ævar Arnfjörð Bjarmason
  2022-06-15 21:08       ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2022-06-15 20:28 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Derrick Stolee


On Wed, Jun 15 2022, Junio C Hamano wrote:

> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> 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.

Yes, I have that fix, but left it out for the "for v2.37.0" ...

>> 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 <avarab@gmail.com>
>> ---
>>  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 <drizzd@aon.at>
>>  #
>>  
>> -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.

I figured if I was adding a $NO_CURL prereq I might as well change the
only existing use of $NO_CURL to use it, which also assures the reader
that our test suite is getting this from somewhere already.

But I'll drop this in a re-roll.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl
  2022-06-15 20:28     ` Ævar Arnfjörð Bjarmason
@ 2022-06-15 21:08       ` Junio C Hamano
  0 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2022-06-15 21:08 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason; +Cc: git, Derrick Stolee

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

>>> -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.
>
> I figured if I was adding a $NO_CURL prereq I might as well change the
> only existing use of $NO_CURL to use it, which also assures the reader
> that our test suite is getting this from somewhere already.
>
> But I'll drop this in a re-roll.

No need.  It already is at the tip of 'master' applied directly.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-15 21:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-15 10:36 [PATCH 0/1] For v2.37.0: fix tests breaking with NO_CURL=Y Ævar Arnfjörð Bjarmason
2022-06-15 10:36 ` [PATCH 1/1] tests: add LIBCURL prerequisite to tests needing libcurl Ævar Arnfjörð Bjarmason
2022-06-15 18:29   ` Junio C Hamano
2022-06-15 20:28     ` Ævar Arnfjörð Bjarmason
2022-06-15 21:08       ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).