t5541: run "used receive-pack service" test earlier
There's a test in t5541 that confirms that "git push" makes two requests (a GET to /info/refs, and a POST to /git-receive-pack). However, it's a noop unless GIT_TEST_PROTOCOL_VERSION is set to "0", due to8a1b0978ab
(test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate, 2019-12-23). This means that almost nobody runs it. And indeed, it has been broken sinceb0c4adcdd7
(remote-curl: send Accept-Language header to server, 2022-07-11). But the fault is not in that commit, but in how brittle the test is. It runs after several operations have been performed, which means that it expects to see the complete set of requests made so far in the script. Commitb0c4adcdd7
added a new test, which means that the "used receive-pack service" test must be updated, too. Let's fix this by making the test less brittle. We'll move it higher in the script, right after the first push has completed. And we'll clear the access log right before doing the push, so we'll see only the requests from that command. This is technically testing less, in that we won't check that all of those other requests also correctly used smart http. But there's no particular reason think that if the first one did, the others wouldn't. After this patch, running: GIT_TEST_PROTOCOL_VERSION=0 ./t5541-http-push-smart.sh passes, whereas it did not before. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
768bb238c4
commit
77fb36aa7e
@ -41,10 +41,6 @@ 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' '
|
||||
# Clear the log, so that it does not affect the "used receive-pack
|
||||
# service" test which reads the log too.
|
||||
test_when_finished ">\"\$HTTPD_ROOT_PATH\"/access.log" &&
|
||||
|
||||
# In the URL, add a trailing slash, and see if git appends yet another
|
||||
# slash.
|
||||
cd "$ROOT_PATH" &&
|
||||
@ -67,6 +63,10 @@ test_expect_success 'clone remote repository' '
|
||||
'
|
||||
|
||||
test_expect_success 'push to remote repository (standard)' '
|
||||
# Clear the log, so that the "used receive-pack service" test below
|
||||
# sees just what we did here.
|
||||
>"$HTTPD_ROOT_PATH"/access.log &&
|
||||
|
||||
cd "$ROOT_PATH"/test_repo_clone &&
|
||||
: >path2 &&
|
||||
git add path2 &&
|
||||
@ -80,6 +80,20 @@ test_expect_success 'push to remote repository (standard)' '
|
||||
test $HEAD = $(git rev-parse --verify HEAD))
|
||||
'
|
||||
|
||||
test_expect_success 'used receive-pack service' '
|
||||
cat >exp <<-\EOF &&
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
|
||||
EOF
|
||||
|
||||
# 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 'push to remote repository (standard) with sending Accept-Language' '
|
||||
cat >exp <<-\EOF &&
|
||||
=> Send header: Accept-Language: ko-KR, *;q=0.9
|
||||
@ -141,28 +155,6 @@ test_expect_success 'rejected update prints status' '
|
||||
'
|
||||
rm -f "$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git/hooks/update"
|
||||
|
||||
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
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
|
||||
GET /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
|
||||
POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
|
||||
EOF
|
||||
test_expect_success 'used receive-pack service' '
|
||||
# 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_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
|
||||
"$ROOT_PATH"/test_repo_clone main success
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user