diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-03-07 00:59:59 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-03-07 01:00:00 (GMT) |
commit | c42c664a2f0634e4268fe9cab96b85e460b4c2e9 (patch) | |
tree | 876557b07a1a97a01e16c6dedbd45f1d571ca5e1 /t | |
parent | 12e5bdd9c4bfa0131b00b20be2cc48a8e2b08a2d (diff) | |
parent | a97d00799a19d2516ca8fae4da9bf782ca6f2e37 (diff) | |
download | git-c42c664a2f0634e4268fe9cab96b85e460b4c2e9.zip git-c42c664a2f0634e4268fe9cab96b85e460b4c2e9.tar.gz git-c42c664a2f0634e4268fe9cab96b85e460b4c2e9.tar.bz2 |
Merge branch 'jt/http-auth-proto-v2-fix'
Unify RPC code for smart http in protocol v0/v1 and v2, which fixes
a bug in the latter (lack of authentication retry) and generally
improves the code base.
* jt/http-auth-proto-v2-fix:
remote-curl: use post_rpc() for protocol v2 also
remote-curl: refactor reading into rpc_state's buf
remote-curl: reduce scope of rpc_state.result
remote-curl: reduce scope of rpc_state.stdin_preamble
remote-curl: reduce scope of rpc_state.argv
Diffstat (limited to 't')
-rwxr-xr-x | t/t5702-protocol-v2.sh | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh index db4ae09..e112b60 100755 --- a/t/t5702-protocol-v2.sh +++ b/t/t5702-protocol-v2.sh @@ -542,7 +542,38 @@ test_expect_success 'clone with http:// using protocol v2' ' # Client requested to use protocol v2 grep "Git-Protocol: version=2" log && # Server responded using protocol v2 - grep "git< version 2" log + grep "git< version 2" log && + # Verify that the chunked encoding sending codepath is NOT exercised + ! grep "Send header: Transfer-Encoding: chunked" log +' + +test_expect_success 'clone big repository with http:// using protocol v2' ' + test_when_finished "rm -f log" && + + git init "$HTTPD_DOCUMENT_ROOT_PATH/big" && + # Ensure that the list of wants is greater than http.postbuffer below + for i in $(test_seq 1 1500) + do + # do not use here-doc, because it requires a process + # per loop iteration + echo "commit refs/heads/too-many-refs-$i" && + echo "committer git <git@example.com> $i +0000" && + echo "data 0" && + echo "M 644 inline bla.txt" && + echo "data 4" && + echo "bla" + done | git -C "$HTTPD_DOCUMENT_ROOT_PATH/big" fast-import && + + GIT_TRACE_PACKET="$(pwd)/log" GIT_TRACE_CURL="$(pwd)/log" git \ + -c protocol.version=2 -c http.postbuffer=65536 \ + clone "$HTTPD_URL/smart/big" big_child && + + # Client requested to use protocol v2 + grep "Git-Protocol: version=2" log && + # Server responded using protocol v2 + grep "git< version 2" log && + # Verify that the chunked encoding sending codepath is exercised + grep "Send header: Transfer-Encoding: chunked" log ' test_expect_success 'fetch with http:// using protocol v2' ' |