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 () {
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
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