diff options
Diffstat (limited to 'third_party/git/t/t5534-push-signed.sh')
-rwxr-xr-x | third_party/git/t/t5534-push-signed.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/third_party/git/t/t5534-push-signed.sh b/third_party/git/t/t5534-push-signed.sh index 030331f1c51f..af0385fb89bd 100755 --- a/third_party/git/t/t5534-push-signed.sh +++ b/third_party/git/t/t5534-push-signed.sh @@ -273,4 +273,26 @@ test_expect_success GPGSM 'fail without key and heed user.signingkey x509' ' test_cmp expect dst/push-cert-status ' +test_expect_success GPG 'failed atomic push does not execute GPG' ' + prepare_dst && + git -C dst config receive.certnonceseed sekrit && + write_script gpg <<-EOF && + # should check atomic push locally before running GPG. + exit 1 + EOF + test_must_fail env PATH="$TRASH_DIRECTORY:$PATH" git push \ + --signed --atomic --porcelain \ + dst noop ff noff >out 2>err && + + test_i18ngrep ! "gpg failed to sign" err && + cat >expect <<-EOF && + To dst + = refs/heads/noop:refs/heads/noop [up to date] + ! refs/heads/ff:refs/heads/ff [rejected] (atomic push failed) + ! refs/heads/noff:refs/heads/noff [rejected] (non-fast-forward) + Done + EOF + test_cmp expect out +' + test_done |