On Sat, Dec 09, 2017 at 09:05:29AM +0000, Hans Jerry Illikainen wrote:
> Add tests for `pull --verify-signatures` with untrusted, bad and no
> signatures.  Previously the only test for `--verify-signatures` was to
> make sure that `pull --rebase --verify-signatures` result in a warning
> (t5520-pull.sh).

Nice!

Same thing regarding the `git checkout initial` commands counts
here too.

> 
> Signed-off-by: Hans Jerry Illikainen <h...@dyntopia.com>
> ---
>  t/t5573-pull-verify-signatures.sh | 78 
> +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 78 insertions(+)
>  create mode 100755 t/t5573-pull-verify-signatures.sh
> 
> diff --git a/t/t5573-pull-verify-signatures.sh 
> b/t/t5573-pull-verify-signatures.sh
> new file mode 100755
> index 000000000..700247910
> --- /dev/null
> +++ b/t/t5573-pull-verify-signatures.sh
> @@ -0,0 +1,78 @@
> +#!/bin/sh
> +
> +test_description='pull signature verification tests'
> +. ./test-lib.sh
> +. "$TEST_DIRECTORY/lib-gpg.sh"
> +
> +test_expect_success GPG 'create repositories with signed commits' '
> +     echo 1 >a && git add a &&
> +     test_tick && git commit -m initial &&
> +     git tag initial &&
> +
> +     git clone . signed &&
> +     (
> +             cd signed &&
> +             echo 2 >b && git add b &&
> +             test_tick && git commit -S -m "signed"
> +     ) &&
> +
> +     git clone . unsigned &&
> +     (
> +             cd unsigned &&
> +             echo 3 >c && git add c &&
> +             test_tick && git commit -m "unsigned"
> +     ) &&
> +
> +     git clone . bad &&
> +     (
> +             cd bad &&
> +             echo 4 >d && git add d &&
> +             test_tick && git commit -S -m "bad" &&
> +             git cat-file commit HEAD >raw &&
> +             sed -e "s/bad/forged bad/" raw >forged &&
> +             git hash-object -w -t commit forged >forged.commit &&
> +             git checkout $(cat forged.commit)
> +     ) &&
> +
> +     git clone . untrusted &&
> +     (
> +             cd untrusted &&
> +             echo 5 >e && git add e &&
> +             test_tick && git commit -SB7227189 -m "untrusted"
> +     )
> +'
> +
> +test_expect_success GPG 'pull unsigned commit with --verify-signatures' '
> +     test_must_fail git pull --ff-only --verify-signatures unsigned 
> 2>pullerror &&
> +     test_i18ngrep "does not have a GPG signature" pullerror
> +'
> +
> +test_expect_success GPG 'pull commit with bad signature with 
> --verify-signatures' '
> +     test_must_fail git pull --ff-only --verify-signatures bad 2>pullerror &&
> +     test_i18ngrep "has a bad GPG signature" pullerror
> +'
> +
> +test_expect_success GPG 'pull commit with untrusted signature with 
> --verify-signatures' '
> +     test_must_fail git pull --ff-only --verify-signatures untrusted 
> 2>pullerror &&
> +     test_i18ngrep "has an untrusted GPG signature" pullerror
> +'
> +
> +test_expect_success GPG 'pull signed commit with --verify-signatures' '
> +     git pull --verify-signatures signed >pulloutput &&
> +     test_i18ngrep "has a good GPG signature" pulloutput &&
> +     git checkout initial
> +'
> +
> +test_expect_success GPG 'pull commit with bad signature without 
> verification' '
> +     git pull --ff-only bad 2>pullerror &&
> +     git checkout initial
> +'
> +
> +test_expect_success GPG 'pull commit with bad signature with 
> --no-verify-signatures' '
> +     test_config merge.verifySignatures true &&
> +     test_config pull.verifySignatures true &&
> +     git pull --ff-only --no-verify-signatures bad 2>pullerror &&
> +     git checkout initial
> +'
> +
> +test_done
> -- 
> 2.11.0
> 

Reply via email to