t5550: test display of remote http error messages
Since commit 426e70d
(remote-curl: show server content on
http errors, 2013-04-05), we relay any text/plain error
messages from the remote server to the user. However, we
never tested it.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
c7db2d1647
commit
dbcf2bd3de
@ -113,6 +113,7 @@ prepare_httpd() {
|
|||||||
mkdir -p "$HTTPD_DOCUMENT_ROOT_PATH"
|
mkdir -p "$HTTPD_DOCUMENT_ROOT_PATH"
|
||||||
cp "$TEST_PATH"/passwd "$HTTPD_ROOT_PATH"
|
cp "$TEST_PATH"/passwd "$HTTPD_ROOT_PATH"
|
||||||
install_script broken-smart-http.sh
|
install_script broken-smart-http.sh
|
||||||
|
install_script error.sh
|
||||||
|
|
||||||
ln -s "$LIB_HTTPD_MODULE_PATH" "$HTTPD_ROOT_PATH/modules"
|
ln -s "$LIB_HTTPD_MODULE_PATH" "$HTTPD_ROOT_PATH/modules"
|
||||||
|
|
||||||
|
@ -97,12 +97,16 @@ Alias /auth/dumb/ www/auth/dumb/
|
|||||||
</LocationMatch>
|
</LocationMatch>
|
||||||
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
|
ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1
|
||||||
ScriptAlias /broken_smart/ broken-smart-http.sh/
|
ScriptAlias /broken_smart/ broken-smart-http.sh/
|
||||||
|
ScriptAlias /error/ error.sh/
|
||||||
<Directory ${GIT_EXEC_PATH}>
|
<Directory ${GIT_EXEC_PATH}>
|
||||||
Options FollowSymlinks
|
Options FollowSymlinks
|
||||||
</Directory>
|
</Directory>
|
||||||
<Files broken-smart-http.sh>
|
<Files broken-smart-http.sh>
|
||||||
Options ExecCGI
|
Options ExecCGI
|
||||||
</Files>
|
</Files>
|
||||||
|
<Files error.sh>
|
||||||
|
Options ExecCGI
|
||||||
|
</Files>
|
||||||
<Files ${GIT_EXEC_PATH}/git-http-backend>
|
<Files ${GIT_EXEC_PATH}/git-http-backend>
|
||||||
Options ExecCGI
|
Options ExecCGI
|
||||||
</Files>
|
</Files>
|
||||||
|
17
t/lib-httpd/error.sh
Executable file
17
t/lib-httpd/error.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
printf "Status: 500 Intentional Breakage\n"
|
||||||
|
|
||||||
|
printf "Content-Type: "
|
||||||
|
case "$PATH_INFO" in
|
||||||
|
*html*)
|
||||||
|
printf "text/html"
|
||||||
|
;;
|
||||||
|
*text*)
|
||||||
|
printf "text/plain"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
printf "\n"
|
||||||
|
|
||||||
|
printf "\n"
|
||||||
|
printf "this is the error message\n"
|
@ -171,5 +171,15 @@ test_expect_success 'did not use upload-pack service' '
|
|||||||
test_cmp exp act
|
test_cmp exp act
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git client shows text/plain errors' '
|
||||||
|
test_must_fail git clone "$HTTPD_URL/error/text" 2>stderr &&
|
||||||
|
grep "this is the error message" stderr
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git client does not show html errors' '
|
||||||
|
test_must_fail git clone "$HTTPD_URL/error/html" 2>stderr &&
|
||||||
|
! grep "this is the error message" stderr
|
||||||
|
'
|
||||||
|
|
||||||
stop_httpd
|
stop_httpd
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user