[PATCH v5 23/23] t5541: test push --signed to smart HTTP server
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 15, 2014, 22:24 UTC
- Message-ID
- <1410819864-22967-24-git-send-email-gitster@pobox.com>
- In-Reply-To
- <1410819864-22967-1-git-send-email-gitster@pobox.com>
Currently it seems that somewhere in the transport option setting chain the "--signed" bit gets lost and this does not pass.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- t/t5541-http-push-smart.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh index 73af16f..3915f67 100755 --- a/t/t5541-http-push-smart.sh +++ b/t/t5541-http-push-smart.sh @@ -14,6 +14,7 @@ fi ROOT_PATH="$PWD" . "$TEST_DIRECTORY"/lib-httpd.sh . "$TEST_DIRECTORY"/lib-terminal.sh +. "$TEST_DIRECTORY"/lib-gpg.sh start_httpd test_expect_success 'setup remote repository' ' @@ -323,5 +324,43 @@ test_expect_success 'push into half-auth-complete requires password' ' test_cmp expect actual ' +test_expect_failure 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 && + # discard the update list + cat >/dev/null + # record the push certificate + if test -n "${GIT_PUSH_CERT-}" + then + git cat-file blob $GIT_PUSH_CERT >../push-cert + fi && + env >../env && + cat >../push-cert-status <<E_O_F + SIGNER=${GIT_PUSH_CERT_SIGNER-nobody} + KEY=${GIT_PUSH_CERT_KEY-nokey} + STATUS=${GIT_PUSH_CERT_STATUS-nostatus} + NONCE=${GIT_PUSH_CERT_NONCE-nononce} + E_O_F + EOF + + git config receive.certnonceseed sekrit + ) && + cd "$ROOT_PATH/test_repo_clone" && + test_commit cert-test && + git push --signed "$HTTPD_URL/smart/test_repo.git" && + ( + cd "$HTTPD_DOCUMENT_ROOT_PATH" && + cat <<-\EOF && + SIGNER=C O Mitter <committer@example.com> + KEY=13B6F51ECDDE430D + STATUS=G + EOF + sed -n -e "s/^nonce /NONCE=/p" -e "/^$/q" push-cert + ) >expect && + test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH/push-cert-status" +' + stop_httpd test_done
-- 2.1.0-410-gd72dacd