X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fdrs-push-rejects;h=e3b5c7d603255b13fdd0c2f5b14775b25a0e4acb;hb=d2ec3ce54547bb810ca19e17049e6148dbbf0801;hp=10c10bf60b402c70a0aad68686639ae8161ecbac;hpb=fd0f9361c6833ff1266ff2590797f170af0be090;p=dgit.git diff --git a/tests/tests/drs-push-rejects b/tests/tests/drs-push-rejects index 10c10bf6..e3b5c7d6 100755 --- a/tests/tests/drs-push-rejects +++ b/tests/tests/drs-push-rejects @@ -26,42 +26,75 @@ mustfail () { fi } -mktag1 () { +prep () { local suite=$1 local csuite=$2 + cp $tmp/masters/* $tmp/. tag_signer='-u Senatus' tag_message="$p release $version for $suite ($csuite) [dgit]" - tag_name=debian/3-2_dummy1 + tag_name=debian/$version push_spec1="HEAD:refs/dgit/$csuite" push_spec2="refs/tags/$tag_name" push_spec="$push_spec1 $push_spec2" } -mktag2 () { +mktag () { git tag -f $tag_signer -m "$tag_message" $tag_name "$@" } +mkdir $tmp/masters +cp $tmp/d[dm].* $tmp/masters version=3-2_dummy1 -mktag1 unstable sid +prep unstable sid tag_signer='-a' -mktag2 +mktag mustfail 'missing signature' $push_spec -mktag1 unstable sid +prep unstable sid tag_message='something' -mktag2 +mktag mustfail 'tag message not in expected format' $push_spec -mktag1 unstable sid -mktag2 - +prep unstable sid +mktag mustfail 'sid != sponge' HEAD:refs/dgit/sponge $push_spec2 -git push origin $push_spec +# fixme test --sig-policy-url string +# fixme cannot test reject "signature is not of type 00!"; -mktag2 +prep unstable sid +mktag +cp $tmp/dm.gpg $tmp/dd.gpg +mustfail 'key not found in keyrings' +prep unstable sid +git push origin $push_spec # succeeds +mktag mustfail 'not replacing previously-pushed version' $push_spec +prep_dm_mangle () { + prep unstable sid + perl -i.bak -pe ' + next unless m/^fingerprint: 3A82860837A0CD32/i../^$/; + ' -e "$1" $tmp/dm.txt + tag_signer='-u Populus' + mktag +} + +git checkout v2 +version=3-2_dummy2 + +prep_dm_mangle 's/allow:/asponge:/i' +mustfail 'missing Allow section in permission' $push_spec + +prep_dm_mangle 's/\bpari-extra\b/sponge/i' +mustfail "package $p not allowed for key" $push_spec + +prep_dm_mangle 'y/0-9/5-90-4/ if m/^fingerprint:/i' +mustfail "not in permissions list although in keyring" $push_spec + +prep_dm_mangle '' +git push origin $push_spec # succeeds + echo ok.