test: test GIT_CURL_VERBOSE=1 shows an error

This tests GIT_CURL_VERBOSE shows an error when an URL returns 500. This
exercises the code in remote_curl.

Signed-off-by: Masaya Suzuki <masayasuzuki@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Masaya Suzuki 2019-01-10 11:33:50 -08:00 committed by Junio C Hamano
parent b79bdd8c12
commit e4871cd50c
2 changed files with 29 additions and 0 deletions

View File

@ -115,6 +115,7 @@ Alias /auth/dumb/ www/auth/dumb/
SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
SetEnv GIT_HTTP_EXPORT_ALL
</LocationMatch>
ScriptAliasMatch /error_git_upload_pack/(.*)/git-upload-pack error.sh/
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
ScriptAlias /broken_smart/ broken-smart-http.sh/
ScriptAlias /error/ error.sh/

28
t/t5581-http-curl-verbose.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
test_description='test GIT_CURL_VERBOSE'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-httpd.sh
start_httpd
test_expect_success 'setup repository' '
mkdir "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git -C "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" --bare init &&
git config push.default matching &&
echo content >file &&
git add file &&
git commit -m one &&
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
git push public master:master
'
test_expect_success 'failure in git-upload-pack is shown' '
test_might_fail env GIT_CURL_VERBOSE=1 \
git clone "$HTTPD_URL/error_git_upload_pack/smart/repo.git" \
2>curl_log &&
grep "< HTTP/1.1 500 Intentional Breakage" curl_log
'
stop_httpd
test_done