chiark / gitweb /
3ef6569d9474dc0ed9f973cfe9dfdc845dfda04f
[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 () {
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         dpkg-buildpackage -uc -us --build=source
60         # ^ Do this by hand here not because we expect users to do this
61         #   (rather than dgit build), but so that we can check that our
62         #   output is the same as users are used to.
63
64         t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.b quilt-fixup
65         t-dgit -wn --quilt=$quiltmode --dgit-view-save=split.p --new push
66
67         git merge-base --is-ancestor HEAD     split.p
68         if [ "$uvtag" ]; then
69                 git merge-base --is-ancestor $uvtag split.p
70                 set +e; git merge-base HEAD $uvtag; rc=$?; set -e; [ $rc = 1 ]
71         fi
72
73         git clean -xdff
74         # t-pushed-good-* wants a clean tree to start with, but this
75         #  workflow expects a mess
76
77         t-splitbrain-pushed-good-start
78         t-splitbrain-pushed-good--unpack
79
80         find . -mindepth 1 -maxdepth 1          \
81                 \! -path ./debian               \
82                 \! -path ./.git                 \
83                 -print0                         \
84                 | xargs -0r rm -rf --
85
86         t-splitbrain-pushed-good-end-made-dep14
87 }
88
89 baredebian-test () {
90         baredebian-test-vars
91         baredebian-test-minimum
92         baredebian-test-core
93 }