mirror of
https://github.com/git/git.git
synced 2024-12-02 22:43:44 +08:00
8c3b9f7faa
Use 'test_atexit' to run cleanup commands to stop httpd at the end of the test script or upon interrupt or failure, as it is shorter, simpler, and more robust than registering such cleanup commands in the trap on EXIT in the test scripts. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test disabling of git-over-http in clone/fetch'
|
|
. ./test-lib.sh
|
|
. "$TEST_DIRECTORY/lib-proto-disable.sh"
|
|
. "$TEST_DIRECTORY/lib-httpd.sh"
|
|
start_httpd
|
|
|
|
test_expect_success 'create git-accessible repo' '
|
|
bare="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
|
test_commit one &&
|
|
git --bare init "$bare" &&
|
|
git push "$bare" HEAD &&
|
|
git -C "$bare" config http.receivepack true
|
|
'
|
|
|
|
test_proto "smart http" http "$HTTPD_URL/smart/repo.git"
|
|
|
|
test_expect_success 'curl redirects respect whitelist' '
|
|
test_must_fail env GIT_ALLOW_PROTOCOL=http:https \
|
|
GIT_SMART_HTTP=0 \
|
|
git clone "$HTTPD_URL/ftp-redir/repo.git" 2>stderr &&
|
|
test_i18ngrep -E "(ftp.*disabled|your curl version is too old)" stderr
|
|
'
|
|
|
|
test_expect_success 'curl limits redirects' '
|
|
test_must_fail git clone "$HTTPD_URL/loop-redir/smart/repo.git"
|
|
'
|
|
|
|
test_expect_success 'http can be limited to from-user' '
|
|
git -c protocol.http.allow=user \
|
|
clone "$HTTPD_URL/smart/repo.git" plain.git &&
|
|
test_must_fail git -c protocol.http.allow=user \
|
|
clone "$HTTPD_URL/smart-redir-perm/repo.git" redir.git
|
|
'
|
|
|
|
test_done
|