chiark / gitweb /
changelog: start 9.14
[dgit.git] / tests / lib-baredebian
1 #
2
3 baredebian-test-vars () {
4         quiltmode=baredebian
5         v=1.0-1
6         suite=sid
7         uv=${v%-*}
8         uvtag=v$uv
9         origbase=${p}_${uv}.orig
10         xorigcomps=''
11 }
12
13 baredebian-tarball-mode () {
14         git tag -d $uvtag
15         uvtag=''
16         quiltmode=baredebian+tarball
17 }
18
19 baredebian-test-minimum () {
20         t-expect-fail 'contradicts clean mode git-ff' \
21         t-dgit -wgf --dgit-view-save=split.f1 --$quiltmode quilt-fixup
22
23         t-dgit -wn --dgit-view-save=split.f1 --$quiltmode quilt-fixup
24 }
25
26 baredebian-test-core-prepush () {
27         tar --strip-components=1 -axf ../$origbase.tar.*
28         for comp in $xorigcomps; do
29                 mkdir $comp
30                 cd $comp
31                 tar --strip-components=1 -axf ../../$origbase-$comp.tar.*
32                 cd ..
33         done
34
35         cd debian
36         git clean -xdff
37         git checkout HEAD -- .
38         cd ..
39
40         # Now we are in this insane state that people seem to expect
41
42         export QUILT_PATCHES=debian/patches
43         quilt push -a
44
45         git add -Af .
46         git reset .pc
47         git diff --cached --exit-code split.f1 -- :/ :!/debian
48         git diff --exit-code HEAD..split.f1 -- :/debian
49         git reset
50
51         quilt new made-with-quilt
52         quilt add src.c
53         echo //omg >>src.c
54         quilt refresh
55
56         git add debian/patches/.
57         t-commit 'extra patch made with quilt' 1.0-2
58
59         t-refs-same-start
60         t-ref-head
61         t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.b quilt-fixup
62         t-ref-head
63 }
64
65 baredebian-test-core-push () {
66         dpkg-buildpackage -uc -us --build=source
67         # ^ Do this by hand here not because we expect users to do this
68         #   (rather than dgit build), but so that we can check that our
69         #   output is the same as users are used to.
70
71         t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.p --new push
72 }
73
74 baredebian-test-core-postpush () {
75         git merge-base --is-ancestor HEAD     split.p
76         if [ "$uvtag" ]; then
77                 git merge-base --is-ancestor $uvtag split.p
78                 set +e; git merge-base HEAD $uvtag; rc=$?; set -e; [ $rc = 1 ]
79         fi
80
81         git clean -xdff
82         # t-pushed-good-* wants a clean tree to start with, but this
83         #  workflow expects a mess
84
85         t-splitbrain-pushed-good-start
86         t-splitbrain-pushed-good--unpack
87
88         find . -mindepth 1 -maxdepth 1          \
89                 \! -path ./debian               \
90                 \! -path ./.git                 \
91                 -print0                         \
92                 | xargs -0r rm -rf --
93
94         t-splitbrain-pushed-good-end-made-dep14
95 }
96
97 baredebian-test-core () {
98         baredebian-test-core-prepush
99         baredebian-test-core-push
100         baredebian-test-core-postpush
101 }
102
103 baredebian-test () {
104         baredebian-test-vars
105         baredebian-test-minimum
106         baredebian-test-core
107 }