#!/bin/bash set -e . tests/lib t-tstunt dpkg-parsechangelog Dpkg/Changelog/Parse.pm t-debpolicy t-prep-newpackage example 1.0 cd $p revision=1 t-commit () { local msg=$1 v=1.$revision dch -v$v --distribution unstable "$1" git add debian/changelog debcommit revision=$(( $revision + 1 )) } git tag start echo FORBIDDEN >debian/some-file git add debian/some-file t-commit 'Commit a forbidden thing' bad=`git rev-parse HEAD:debian/some-file` t-policy-admin taint --global "$bad" "forbidden for testing" t-dgit build t-expect-fail 'forbidden for testing' \ t-dgit push --new t-git-dir-check enoent git reset --hard start t-commit 'will vanish from NEW' vanished=$v t-dgit build t-dgit push --new t-git-dir-check secret t-policy-periodic t-git-dir-check secret # pretend it vanished from new: rm $tmp/incoming/* t-archive-none example t-git-dir-time-passes t-policy-periodic t-git-dir-check enoent t-commit 'should require --deliberately...questionable' t-dgit build t-expect-fail "tag debian/$vanished referred to this object.*all previously pushed versions were found to have been removed" \ t-dgit push --new t-git-dir-check enoent t-dgit push --new --deliberately-include-questionable-history t-git-dir-check secret t-policy-periodic t-git-dir-check secret t-archive-process-incoming new t-git-dir-time-passes t-policy-periodic t-git-dir-check secret git reset --hard start t-commit 'should require --deliberately..not-ff' t-dgit build t-expect-fail "HEAD is not a descendant of the archive's version" \ t-dgit push t-expect-fail "Package is in NEW and has not been accepted or rejected yet" \ t-dgit --deliberately-TEST-not-fast-forward-dgit-only push 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 check expect fail did not push echo xxx want to check replay prevention '(delete tag)'