Re: [PATCH 2/3] t: add tests for pull --verify-signatures
- From
Kevin Daudt <me@ikke.info>
- Date
- Dec 9, 2017, 12:06 UTC
- Message-ID
- <20171209120614.GB6006@alpha.vpn.ikke.info>
- In-Reply-To
- <20171209090530.6747-2-hji@dyntopia.com>
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.
Show 94 quoted lines
> > Signed-off-by: Hans Jerry Illikainen <hji@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 >