]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5541: simplify and move "no empty path components" test
authorJeff King <peff@peff.net>
Thu, 23 Feb 2023 10:51:35 +0000 (05:51 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Feb 2023 21:01:14 +0000 (13:01 -0800)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5541-http-push-smart.sh
t/t5551-http-fetch-smart.sh

index f8bf533c3356e798e32feb242e83ec147d6927b3..d0211cd8bef450e0149dccd037b0f9e1607ef421 100755 (executable)
@@ -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 &&
index bc0719a4fc929540570c2d3d0e98bdd5febadea2..10b7e7cda28a062121bd89359e00cfd2513486e6 100755 (executable)
@@ -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