]> git.ipfire.org Git - thirdparty/git.git/commitdiff
http tests: use "test_hook" for "smart" and "dumb" http tests
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 17 Mar 2022 10:13:18 +0000 (11:13 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Mar 2022 21:42:14 +0000 (14:42 -0700)
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>
t/t5541-http-push-smart.sh
t/t5550-http-fetch-dumb.sh

index ab4b5cfcd1156cccd18b22019592bfb3ccbb2fc3..2f09ff4fac60e832ea86c4158740ce36e58d3132 100755 (executable)
@@ -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' '
-       (
-               cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
-               mkdir -p hooks &&
-               write_script hooks/post-receive <<-\EOF &&
+       test_hook -C "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git post-receive <<-\EOF &&
                # discard the update list
                cat >/dev/null
                # 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=${GIT_PUSH_CERT_NONCE-nononce}
                E_O_F
-               EOF
-
+       EOF
+       (
+               cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
                git config receive.certnonceseed sekrit &&
                git config receive.certnonceslop 30
        ) &&
index 259203926a95d0342a87cff42e00976e66631798..f0d9cd584d3b1865490994f6ce85a7917e3bf129 100755 (executable)
@@ -25,16 +25,17 @@ test_expect_success 'setup repository' '
        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' '
        cp -R .git "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
-       (cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
-        git config core.bare true &&
-        mkdir -p hooks &&
-        write_script "hooks/post-update" <<-\EOF &&
-        exec git update-server-info
-       EOF
-        hooks/post-update
-       ) &&
+       git -C "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" config core.bare true &&
+       setup_post_update_server_info_hook "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
        git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
        git push public main:main
 '
@@ -62,13 +63,7 @@ test_expect_success 'create password-protected repository' '
 
 test_expect_success 'create empty remote repository' '
        git init --bare "$HTTPD_DOCUMENT_ROOT_PATH/empty.git" &&
-       (cd "$HTTPD_DOCUMENT_ROOT_PATH/empty.git" &&
-        mkdir -p hooks &&
-        write_script "hooks/post-update" <<-\EOF &&
-        exec git update-server-info
-       EOF
-        hooks/post-update
-       )
+       setup_post_update_server_info_hook "$HTTPD_DOCUMENT_ROOT_PATH/empty.git"
 '
 
 test_expect_success 'empty dumb HTTP repository has default hash algorithm' '