summaryrefslogtreecommitdiff
path: root/tests/tests/quilt-gbp
blob: cf148f613ee6f3b6ac150828cefa86154f579e69 (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
#!/bin/bash
set -e
. tests/lib

# `dgit build-source` cleans before applying patches.  However, the
# clean targets of 3.0 (quilt) packages are allowed to assume that
# patches are applied.  If they are not, the clean targets can
# misbehave in basically two ways:
#
# - fail to clean everything
# - error out and stop the build
#
# In this test, what we want to see is whether dgit detects that quilt
# fixup cannot be linear because the user has failed to pass --gbp.
# So we need to ensure the package's clean target does not error out,
# because that blocks dgit attempting quilt linearisation.  This
# environment variable tells the example package's clean target not to
# error out if it notices that patches have not yet been applied.
export DGIT_TEST_TOLERATE_UNPATCHED_CLEAN=true

t-tstunt-parsechangelog

t-gbp-example-prep

t-expect-fail 'quilt fixup cannot be linear' \
  t-dgit build-source

t-git-config dgit-distro.test-dummy.dgit-tag-format new
t-expect-fail 'requires split view so server needs to support' \
t-dgit -wgf --quilt=gbp build-source
t-newtag

t-dgit --quilt=gbp --dgit-view-save=split.b1 build-source
git rev-parse split.b1

t-dgit --quilt=gbp --gbp-pq=no-such-command-gbp build-source

echo spong >debian/pointless-for-dgit-test
git add debian/pointless-for-dgit-test
git commit -m Pointless

t-expect-fail no-such-command-gbp \
t-dgit --quilt=gbp --clean=git --gbp-pq=no-such-command-gbp build-source

test-push-1 () {
	t-refs-same-start
	t-ref-head
}

test-push-2 () {
	t-dgit --quilt=gbp --dgit-view-save=split.p push

	t-gbp-pushed-good
}

test-push-1

t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source

t-expect-fail "HEAD specifies a different tree to $p" \
  t-dgit push

test-push-2

echo wombat >>debian/pointless-for-dgit-test
git add debian/pointless-for-dgit-test
git commit -m 'Pointless 2'

t-commit 'Check pseudomerge' 1.0-3

test-push-1

t-dgit --quilt=gbp --clean=git --dgit-view-save=split.b build-source

test-push-2

t-ok