Remove the assert in CommitData.parse() function
[stgit] / t / t1208-push-and-pop.sh
CommitLineData
e1e5f6d7
GH
1#!/bin/sh
2# Copyright (c) 2007 Karl Hasselström
3test_description='Test the push and pop commands'
4. ./test-lib.sh
5
6test_expect_success \
7 'Initialize the StGIT repository' \
8 'stg init'
9
10test_expect_success \
11 'Create ten patches' '
12 for i in 0 1 2 3 4 5 6 7 8 9; do
13 stg new p$i -m p$i;
14 done &&
15 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6 p7 p8 p9" ] &&
16 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
17'
18
19test_expect_success \
20 'Pop three patches' '
21 stg pop -n 3 &&
22 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6" ] &&
23 [ "$(echo $(stg series --unapplied --noprefix))" = "p7 p8 p9" ]
24'
25
26test_expect_success \
27 'Pop the remaining patches' '
28 stg pop -a &&
29 [ "$(echo $(stg series --applied --noprefix))" = "" ] &&
30 [ "$(echo $(stg series --unapplied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6 p7 p8 p9" ]
31'
32
33test_expect_success \
34 'Push them back' '
35 stg push -a &&
36 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6 p7 p8 p9" ] &&
37 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
38'
39
40test_expect_success \
41 'Pop all but seven patches' '
42 stg pop -n -7 &&
43 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6" ] &&
44 [ "$(echo $(stg series --unapplied --noprefix))" = "p7 p8 p9" ]
45'
46
47test_expect_success \
48 'Pop no patches (quietly)' '
49 [ -z "$(stg pop -n 0 2>&1)" ] &&
50 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6" ] &&
51 [ "$(echo $(stg series --unapplied --noprefix))" = "p7 p8 p9" ]
52'
53
54test_expect_success \
55 'Pop remaining seven patches' '
56 stg pop -n 7 &&
57 [ "$(echo $(stg series --applied --noprefix))" = "" ] &&
58 [ "$(echo $(stg series --unapplied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6 p7 p8 p9" ]
59'
60
61test_expect_success \
62 'Push two patches' '
63 stg push -n 2 &&
64 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1" ] &&
65 [ "$(echo $(stg series --unapplied --noprefix))" = "p2 p3 p4 p5 p6 p7 p8 p9" ]
66'
67
68test_expect_success \
69 'Push no patches (quietly)' '
70 [ -z "$(stg push -n 0 2>&1)" ] &&
71 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1" ] &&
72 [ "$(echo $(stg series --unapplied --noprefix))" = "p2 p3 p4 p5 p6 p7 p8 p9" ]
73'
74
75test_expect_success \
76 'Push all but three patches' '
77 stg push -n -3 &&
78 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4 p5 p6" ] &&
79 [ "$(echo $(stg series --unapplied --noprefix))" = "p7 p8 p9" ]
80'
81
82test_done