git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 15, 2022, 10:36 UTC
Message-ID
<patch-1.1-353c384d2b1-20220615T103609Z-avarab@gmail.com>
In-Reply-To
<cover-0.1-00000000000-20220615T103609Z-avarab@gmail.com>

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
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 2 of 5 in “For v2.37.0: fix tests breaking with NO_CURL=Y”
  1. 0/1 For v2.37.0: fix tests breaking with NO_CURL=YÆvar Arnfjörð Bjarmason, Jun 15, 2022
  2. 1/1 tests: add LIBCURL prerequisite to tests needing libcurlÆvar Arnfjörð Bjarmason, Jun 15, 2022
  3. Junio C HamanoJun 15, 2022
  4. Ævar Arnfjörð BjarmasonJun 15, 2022
  5. Junio C HamanoJun 15, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.