git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: git@vger.kernel.org
Subject: [PATCH 03/16] t5541: simplify and move "no empty path components" test
Date: Thu, 23 Feb 2023 05:51:35 -0500	[thread overview]
Message-ID: <Y/dFN4GuCjqpIi2O@coredump.intra.peff.net> (raw)
In-Reply-To: <Y/dEYYWKy/o96vBG@coredump.intra.peff.net>

Commit 9ee6bcd398 (t5541-http-push: add test for URLs with trailing
slash, 2010-04-08) added a test that clones a URL with a trailing slash,
and confirms that we don't send a doubled slash (like "$url//info/refs")
to the server.

But this test makes no sense in t5541, which is about pushing. It should
have been added in t5551. Let's move it there.

But putting it at the end is tricky, since it checks the entire contents
of the Apache access log. We could get around this by clearing the log
before our test. But there's an even simpler solution: just make sure no
doubled slashes appear in the log (fortunately, "http://" does not
appear in the log itself).

As a bonus, this also lets us drop the check for the v0 protocol (which
is otherwise necessary since v2 makes multiple requests, and
check_access_log insists on exactly matching the number of requests,
even though we don't care about that here).

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5541-http-push-smart.sh  | 18 ------------------
 t/t5551-http-fetch-smart.sh |  9 +++++++++
 2 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index f8bf533c33..d0211cd8be 100755
--- a/t/t5541-http-push-smart.sh
+++ b/t/t5541-http-push-smart.sh
@@ -36,24 +36,6 @@ test_expect_success 'setup remote repository' '
 
 setup_askpass_helper
 
-cat >exp <<EOF
-GET  /smart/test_repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
-POST /smart/test_repo.git/git-upload-pack HTTP/1.1 200
-EOF
-test_expect_success 'no empty path components' '
-	# In the URL, add a trailing slash, and see if git appends yet another
-	# slash.
-	cd "$ROOT_PATH" &&
-	git clone $HTTPD_URL/smart/test_repo.git/ test_repo_clone &&
-
-	# NEEDSWORK: If the overspecification of the expected result is reduced, we
-	# might be able to run this test in all protocol versions.
-	if test "$GIT_TEST_PROTOCOL_VERSION" = 0
-	then
-		check_access_log exp
-	fi
-'
-
 test_expect_success 'clone remote repository' '
 	rm -rf test_repo_clone &&
 	git clone $HTTPD_URL/smart/test_repo.git test_repo_clone &&
diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh
index bc0719a4fc..10b7e7cda2 100755
--- a/t/t5551-http-fetch-smart.sh
+++ b/t/t5551-http-fetch-smart.sh
@@ -666,4 +666,13 @@ test_expect_success 'push warns or fails when using username:password' '
 	test_line_count -ge 1 warnings
 '
 
+test_expect_success 'no empty path components' '
+	# In the URL, add a trailing slash, and see if git appends yet another
+	# slash.
+	git clone $HTTPD_URL/smart/repo.git/ clone-with-slash &&
+
+	strip_access_log >log &&
+	! grep "//" log
+'
+
 test_done
-- 
2.39.2.981.g6157336f25


  parent reply	other threads:[~2023-02-23 10:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-23 10:48 [PATCH 0/16] http test bug potpourri Jeff King
2023-02-23 10:49 ` [PATCH 01/16] t5541: run "used receive-pack service" test earlier Jeff King
2023-02-23 10:50 ` [PATCH 02/16] t5541: stop marking "used receive-pack service" test as v0 only Jeff King
2023-02-23 10:51 ` Jeff King [this message]
2023-02-23 23:36   ` [PATCH 03/16] t5541: simplify and move "no empty path components" test Junio C Hamano
2023-02-24  2:11     ` Jeff King
2023-02-23 10:52 ` [PATCH 04/16] t5551: drop redundant grep for Accept-Language Jeff King
2023-02-23 23:36   ` Junio C Hamano
2023-02-23 10:54 ` [PATCH 05/16] t5551: lower-case headers in expected curl trace Jeff King
2023-02-23 10:56 ` [PATCH 06/16] t5551: handle HTTP/2 when checking " Jeff King
2023-02-23 10:57 ` [PATCH 07/16] t5551: stop forcing clone to run with v0 protocol Jeff King
2023-02-23 10:59 ` [PATCH 08/16] t5551: handle v2 protocol when checking curl trace Jeff King
2023-02-23 11:00 ` [PATCH 09/16] t5551: handle v2 protocol in upload-pack service test Jeff King
2023-02-23 11:01 ` [PATCH 10/16] t5551: simplify expected cookie file Jeff King
2023-02-23 11:02 ` [PATCH 11/16] t5551: handle v2 protocol in cookie test Jeff King
2023-02-23 11:05 ` [PATCH 12/16] t5551: drop curl trace lines without headers Jeff King
2023-02-23 11:05 ` [PATCH 13/16] t/lib-httpd: respect $HTTPD_PROTO in expect_askpass() Jeff King
2023-02-23 11:06 ` [PATCH 14/16] t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c Jeff King
2023-02-23 23:37   ` Junio C Hamano
2023-02-23 11:07 ` [PATCH 15/16] t5559: fix test failures with LIB_HTTPD_SSL Jeff King
2023-02-23 11:08 ` [PATCH 16/16] t5559: make SSL/TLS the default Jeff King
2023-02-23 23:37 ` [PATCH 0/16] http test bug potpourri Junio C Hamano
2023-02-24  2:13   ` Jeff King
2023-02-24  3:01     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/dFN4GuCjqpIi2O@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).