From f4bf99af68ee0a64848bd43869e90d65d60800f2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 5 Mar 2014 18:27:03 +0000 Subject: [PATCH] dgit-repos-server: some better error msgs, more tests --- dgit-repos-server | 10 +++++----- tests/tests/drs-push-rejects | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/dgit-repos-server b/dgit-repos-server index 33c18f1b..add54245 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -282,25 +282,25 @@ sub readupdates () { m/^(\S+) (\S+) (\S+)$/ or die "$_ ?"; my ($old, $sha1, $refname) = ($1, $2, $3); if ($refname =~ m{^refs/tags/(?=debian/)}) { - die if defined $tagname; + reject "pushing multiple tags!" if defined $tagname; $tagname = $'; #'; $tagval = $sha1; reject "tag $tagname already exists -". " not replacing previously-pushed version" if $old =~ m/[^0]/; } elsif ($refname =~ m{^refs/dgit/}) { - die if defined $suite; + reject "pushing multiple heads!" if defined $suite; $suite = $'; #'; $oldcommit = $old; $commit = $sha1; } else { - die; + reject "pushing unexpected ref!"; } } STDIN->error and die $!; - die unless defined $tagname; - die unless defined $suite; + reject "push is missing tag ref update" unless defined $tagname; + reject "push is missing head ref update" unless defined $suite; debug " updates ok."; } diff --git a/tests/tests/drs-push-rejects b/tests/tests/drs-push-rejects index e3b5c7d6..eab44a51 100755 --- a/tests/tests/drs-push-rejects +++ b/tests/tests/drs-push-rejects @@ -63,6 +63,14 @@ mustfail 'sid != sponge' HEAD:refs/dgit/sponge $push_spec2 # fixme test --sig-policy-url string # fixme cannot test reject "signature is not of type 00!"; +prep unstable sid +mktag +mustfail 'push is missing tag ref update' $push_spec1 +mustfail 'push is missing head ref update' $push_spec2 +mustfail 'pushing unexpected ref' $push_spec HEAD:refs/wombat +mustfail 'pushing multiple heads' $push_spec HEAD:refs/dgit/wombat +mustfail 'pushing multiple tags' $push_spec HEAD:refs/tags/debian/wombat + prep unstable sid mktag cp $tmp/dm.gpg $tmp/dd.gpg -- 2.30.2