зеркало из https://github.com/microsoft/git.git
http tests: use "test_hook" for "smart" and "dumb" http tests
Change the http tests to use "test_hook" insteadd of "write_script". In both cases we can get rid of sub-shelling. For "t/t5550-http-fetch-dumb.sh" add a trivial helper which sets up the hook and calls "update-server-info". Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
c39176b160
Коммит
f6db603c7a
|
@ -419,10 +419,7 @@ test_expect_success CMDLINE_LIMIT 'push 2000 tags over http' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success GPG 'push with post-receive to inspect certificate' '
|
test_expect_success GPG 'push with post-receive to inspect certificate' '
|
||||||
(
|
test_hook -C "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git post-receive <<-\EOF &&
|
||||||
cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
|
|
||||||
mkdir -p hooks &&
|
|
||||||
write_script hooks/post-receive <<-\EOF &&
|
|
||||||
# discard the update list
|
# discard the update list
|
||||||
cat >/dev/null
|
cat >/dev/null
|
||||||
# record the push certificate
|
# record the push certificate
|
||||||
|
@ -437,8 +434,9 @@ test_expect_success GPG 'push with post-receive to inspect certificate' '
|
||||||
NONCE_STATUS=${GIT_PUSH_CERT_NONCE_STATUS-nononcestatus}
|
NONCE_STATUS=${GIT_PUSH_CERT_NONCE_STATUS-nononcestatus}
|
||||||
NONCE=${GIT_PUSH_CERT_NONCE-nononce}
|
NONCE=${GIT_PUSH_CERT_NONCE-nononce}
|
||||||
E_O_F
|
E_O_F
|
||||||
EOF
|
EOF
|
||||||
|
(
|
||||||
|
cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
|
||||||
git config receive.certnonceseed sekrit &&
|
git config receive.certnonceseed sekrit &&
|
||||||
git config receive.certnonceslop 30
|
git config receive.certnonceslop 30
|
||||||
) &&
|
) &&
|
||||||
|
|
|
@ -25,16 +25,17 @@ test_expect_success 'setup repository' '
|
||||||
git commit -m two
|
git commit -m two
|
||||||
'
|
'
|
||||||
|
|
||||||
|
setup_post_update_server_info_hook () {
|
||||||
|
test_hook --setup -C "$1" post-update <<-\EOF &&
|
||||||
|
exec git update-server-info
|
||||||
|
EOF
|
||||||
|
git -C "$1" update-server-info
|
||||||
|
}
|
||||||
|
|
||||||
test_expect_success 'create http-accessible bare repository with loose objects' '
|
test_expect_success 'create http-accessible bare repository with loose objects' '
|
||||||
cp -R .git "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
cp -R .git "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
||||||
(cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
git -C "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" config core.bare true &&
|
||||||
git config core.bare true &&
|
setup_post_update_server_info_hook "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
||||||
mkdir -p hooks &&
|
|
||||||
write_script "hooks/post-update" <<-\EOF &&
|
|
||||||
exec git update-server-info
|
|
||||||
EOF
|
|
||||||
hooks/post-update
|
|
||||||
) &&
|
|
||||||
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
|
||||||
git push public main:main
|
git push public main:main
|
||||||
'
|
'
|
||||||
|
@ -62,13 +63,7 @@ test_expect_success 'create password-protected repository' '
|
||||||
|
|
||||||
test_expect_success 'create empty remote repository' '
|
test_expect_success 'create empty remote repository' '
|
||||||
git init --bare "$HTTPD_DOCUMENT_ROOT_PATH/empty.git" &&
|
git init --bare "$HTTPD_DOCUMENT_ROOT_PATH/empty.git" &&
|
||||||
(cd "$HTTPD_DOCUMENT_ROOT_PATH/empty.git" &&
|
setup_post_update_server_info_hook "$HTTPD_DOCUMENT_ROOT_PATH/empty.git"
|
||||||
mkdir -p hooks &&
|
|
||||||
write_script "hooks/post-update" <<-\EOF &&
|
|
||||||
exec git update-server-info
|
|
||||||
EOF
|
|
||||||
hooks/post-update
|
|
||||||
)
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'empty dumb HTTP repository has default hash algorithm' '
|
test_expect_success 'empty dumb HTTP repository has default hash algorithm' '
|
||||||
|
|
Загрузка…
Ссылка в новой задаче