summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/lib18
-rwxr-xr-xtests/tests/debpolicy-newreject6
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/lib b/tests/lib
index 0933c43..fd06097 100644
--- a/tests/lib
+++ b/tests/lib
@@ -179,6 +179,24 @@ t-git-dir-time-passes () {
touch -d 'last year' $tmp/git/$p.git
}
+t-git-dir-check () {
+ local gitdir=$tmp/git/$p.git
+ case "$1" in
+ enoent)
+ if test -e "$gitdir"; then fail "$gitdir exists"; fi
+ return
+ ;;
+ public) wantstat='7[75]5' ;;
+ secret) wantstat='7[70]0' ;;
+ *) fail "$1 t-git-dir-check ?" ;;
+ esac
+ gotstat=`stat -c%a $gitdir`
+ case "$gotstat" in
+ *$wantstat) return ;;
+ *) fail "$gitdir has mode $gotstat, expected $wantstat" ;;
+ esac
+}
+
t-dgit () {
local dgit=${DGIT_TEST-dgit}
: '
diff --git a/tests/tests/debpolicy-newreject b/tests/tests/debpolicy-newreject
index e4c9b00..2a2e8f3 100755
--- a/tests/tests/debpolicy-newreject
+++ b/tests/tests/debpolicy-newreject
@@ -18,13 +18,16 @@ 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 HEAD~
git commit --allow-empty -m 'will vanish from NEW'
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/*
@@ -33,13 +36,16 @@ t-archive-none example
t-git-dir-time-passes
t-policy-periodic
+t-git-dir-check enoent
git commit --allow-empty -m 'should require --deliberately...questionable'
t-dgit build
t-expect-fail 'tag debian/1.0 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
echo xxx up to here