summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/lib13
-rwxr-xr-xtests/tests/debpolicy-newreject5
2 files changed, 17 insertions, 1 deletions
diff --git a/tests/lib b/tests/lib
index f45dd0b..03c25ce 100644
--- 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 () {
diff --git a/tests/tests/debpolicy-newreject b/tests/tests/debpolicy-newreject
index 09c1a16..10af31f 100755
--- a/tests/tests/debpolicy-newreject
+++ b/tests/tests/debpolicy-newreject
@@ -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