summaryrefslogtreecommitdiff
path: root/tests/tests/debpolicy-newreject
blob: b2bf6bee7f411d0c6fc0eb6032752a3a74f3c5a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
set -e
. tests/lib

t-tstunt-parsechangelog

t-debpolicy
t-prep-newpackage example 1.0

cd $p
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

oldobj=`git rev-parse HEAD`
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-dgit-only-not-fast-forward push

t-dgit --deliberately-not-fast-forward push

cd $tmp/git/$p.git
t-expect-fail "Not a valid object name" \
git cat-file -p $oldobj
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 check expect fail did not push
echo xxx want to check replay prevention insufficient proofs in tag
echo xxx want to check replay prevention removed tags file