From fd0f9361c6833ff1266ff2590797f170af0be090 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 26 Feb 2014 17:16:12 +0000 Subject: tests: drs-push-rejects: some failure cases; generate tags in script --- tests/tests/drs-push-rejects | 56 ++++++++++++++++++++++++++++++++++++- tests/worktrees/pari-extra_drs.tar | Bin 133120 -> 143360 bytes 2 files changed, 55 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/tests/drs-push-rejects b/tests/tests/drs-push-rejects index 438ba78..10c10bf 100755 --- a/tests/tests/drs-push-rejects +++ b/tests/tests/drs-push-rejects @@ -10,4 +10,58 @@ t-worktree drs cd $p -git push origin HEAD:refs/dgit/sid refs/tags/debian/3-2_dummy1 +mustfail () { + local wantmsg="$1"; shift + set +e + git push origin "$@" 2>&1 |tee $tmp/mustfail.txt + ps="${PIPESTATUS[*]}" + set -e + case $ps in + "0 0") fail "push unexpectedly succeeded: $*" ;; + *" 0") ;; + *) fail "tee failed" ;; + esac + if ! fgrep "$wantmsg" $tmp/mustfail.txt >/dev/null; then + fail "error message not found" + fi +} + +mktag1 () { + local suite=$1 + local csuite=$2 + tag_signer='-u Senatus' + tag_message="$p release $version for $suite ($csuite) [dgit]" + tag_name=debian/3-2_dummy1 + push_spec1="HEAD:refs/dgit/$csuite" + push_spec2="refs/tags/$tag_name" + push_spec="$push_spec1 $push_spec2" +} +mktag2 () { + git tag -f $tag_signer -m "$tag_message" $tag_name "$@" +} + + +version=3-2_dummy1 + +mktag1 unstable sid +tag_signer='-a' +mktag2 +mustfail 'missing signature' $push_spec + +mktag1 unstable sid +tag_message='something' +mktag2 +mustfail 'tag message not in expected format' $push_spec + +mktag1 unstable sid +mktag2 + +mustfail 'sid != sponge' HEAD:refs/dgit/sponge $push_spec2 + +git push origin $push_spec + +mktag2 + +mustfail 'not replacing previously-pushed version' $push_spec + +echo ok. diff --git a/tests/worktrees/pari-extra_drs.tar b/tests/worktrees/pari-extra_drs.tar index 0943ba8..e56fc4f 100644 Binary files a/tests/worktrees/pari-extra_drs.tar and b/tests/worktrees/pari-extra_drs.tar differ -- cgit v1.2.3