Commit | Line | Data |
---|---|---|
e1e5f6d7 GH |
1 | #!/bin/sh |
2 | # Copyright (c) 2007 Karl Hasselström | |
3 | test_description='Test the push and pop commands' | |
4 | . ./test-lib.sh | |
5 | ||
6 | test_expect_success \ | |
7 | 'Initialize the StGIT repository' \ | |
8 | 'stg init' | |
9 | ||
10 | test_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 | ||
19 | test_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 | ||
26 | test_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 | ||
33 | test_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 | ||
40 | test_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 | ||
47 | test_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 | ||
54 | test_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 | ||
61 | test_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 | ||
68 | test_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 | ||
75 | test_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 | ||
82 | test_done |