chiark / gitweb /
Test suite: test forbidden objects not present
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 10 Jun 2015 20:24:40 +0000 (21:24 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 10 Jun 2015 20:24:40 +0000 (21:24 +0100)
tests/lib
tests/tests/debpolicy-newreject

index f45dd0b..03c25ce 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -78,6 +78,19 @@ t-expect-push-fail () {
        t-expect-fail "$mpat"  "$@"
        t-reporefs post-push
        diff $tmp/show-refs.{pre,post}-push
+
+       eval "$t_expect_push_fail_hook"
+}
+
+t-git-objects-not-present () {
+       local gitdir="${1-$tmp/git/$p.git}"
+       local obj
+       if ! [ -e "$gitdir" ]; then return; fi
+       for obj in "$@"; do
+               GIT_DIR=$gitdir \
+               t-expect-fail 'unable to find' \
+               git cat-file -t $obj
+       done
 }
 
 t-reporefs () {
index 09c1a16..10af31f 100755 (executable)
@@ -18,6 +18,10 @@ t-commit 'Commit a forbidden thing'
 bad=`git rev-parse HEAD:debian/some-file`
 t-policy-admin taint --global "$bad" "forbidden for testing"
 
+t_expect_push_fail_hook+='
+t-git-objects-not-present "" $bad
+'
+
 t-dgit build
 t-expect-push-fail 'forbidden for testing' \
 t-dgit push --new
@@ -81,5 +85,4 @@ cd $tmp/$p
 
 echo xxx up to here
 echo xxx want to test database lock retry thing on push-and-taint
-echo xxx want to test forbidden objects not present
 echo xxx want to t-expect-push-fail leaves HEAD object not dest repo