Restore `stg sink --nopush` capability
[stgit.git] / t / t0008-series.sh
blob3bf8370a4cf9e0c8649bc8e0f950ec75f55d86e1
1 #!/bin/sh
3 test_description='Test stg series'
5 . ./test-lib.sh
7 test_expect_success 'Test uninitialized branch' '
8 command_error stg series 2>&1 | grep -e "branch not initialized"
11 test_expect_success 'Initialize series' '
12 stg init &&
13 echo "hello" > file.txt &&
14 git add file.txt &&
15 git commit -m "Add file.txt"
18 test_expect_success 'Test empty series' '
19 stg series > series.txt 2> error.txt &&
20 test_line_count = 0 series.txt &&
21 test_line_count = 0 error.txt
24 test_expect_success 'Test invalid --all and --short' '
25 command_error stg series --all --short
28 test_expect_success 'Test invalid --all and --applied/--unapplied' '
29 command_error stg series --all --applied &&
30 command_error stg series --all --unapplied
33 test_expect_success 'Test empty series count' '
34 test "$(stg series --count)" = "0"
37 test_expect_success 'Add patches' '
38 echo "a" >> file.txt &&
39 stg new -m "message 0" p0 &&
40 stg refresh &&
41 echo "b" >> file.txt &&
42 stg new -m "message 1" --authname "B Author" p1 &&
43 stg refresh &&
44 echo "c" >> file.txt &&
45 stg new -m "message 2" p2 &&
46 stg refresh &&
47 stg new -m "message 3" p3 &&
48 stg pop p3
51 test_expect_success 'Test default series' '
52 stg series > series.txt 2> error.txt &&
53 test_line_count = 4 series.txt &&
54 test_line_count = 0 error.txt &&
55 echo "+ p0" > expected.txt &&
56 echo "+ p1" >> expected.txt &&
57 echo "> p2" >> expected.txt &&
58 echo "- p3" >> expected.txt &&
59 test_cmp expected.txt series.txt
62 test_expect_success 'Test showbranch' '
63 stg series --showbranch > series.txt &&
64 test_line_count = 4 series.txt &&
65 echo "+ master:p0" > expected.txt &&
66 echo "+ master:p1" >> expected.txt &&
67 echo "> master:p2" >> expected.txt &&
68 echo "- master:p3" >> expected.txt &&
69 test_cmp expected.txt series.txt
72 test_expect_success 'Test author' '
73 stg series --author > series.txt &&
74 test_line_count = 4 series.txt &&
75 echo "+ p0 # A Ú Thor" > expected.txt &&
76 echo "+ p1 # B Author" >> expected.txt &&
77 echo "> p2 # A Ú Thor" >> expected.txt &&
78 echo "- p3 # A Ú Thor" >> expected.txt &&
79 test_cmp expected.txt series.txt
82 test_expect_success 'Test description' '
83 stg series --description > series.txt 2> error.txt &&
84 test_line_count = 4 series.txt &&
85 test_line_count = 0 error.txt &&
86 echo "+ p0 # message 0" > expected.txt &&
87 echo "+ p1 # message 1" >> expected.txt &&
88 echo "> p2 # message 2" >> expected.txt &&
89 echo "- p3 # message 3" >> expected.txt &&
90 test_cmp expected.txt series.txt
93 test_expect_success 'Test description by default' '
94 git config stg.series.description yes &&
95 test_atexit "git config --unset stg.series.description" &&
96 stg series --description > series.txt 2> error.txt &&
97 test_line_count = 4 series.txt &&
98 test_line_count = 0 error.txt &&
99 echo "+ p0 # message 0" > expected.txt &&
100 echo "+ p1 # message 1" >> expected.txt &&
101 echo "> p2 # message 2" >> expected.txt &&
102 echo "- p3 # message 3" >> expected.txt &&
103 test_cmp expected.txt series.txt
106 test_expect_success 'Test --no-description' '
107 git config stg.series.description yes &&
108 test_atexit "git config --unset stg.series.description" &&
109 stg series --no-description > series.txt 2> error.txt &&
110 test_line_count = 4 series.txt &&
111 test_line_count = 0 error.txt &&
112 echo "+ p0" > expected.txt &&
113 echo "+ p1" >> expected.txt &&
114 echo "> p2" >> expected.txt &&
115 echo "- p3" >> expected.txt &&
116 test_cmp expected.txt series.txt
119 test_expect_success 'Test empty' '
120 stg series --empty > series.txt &&
121 echo " + p0" > expected.txt &&
122 echo " + p1" >> expected.txt &&
123 echo " > p2" >> expected.txt &&
124 echo "0- p3" >> expected.txt &&
125 test_cmp expected.txt series.txt
128 test_expect_success 'Test short' '
129 test_config stgit.shortnr 1 &&
130 stg series --short > series.txt &&
131 echo "+ p1" > expected.txt &&
132 echo "> p2" >> expected.txt &&
133 echo "- p3" >> expected.txt &&
134 test_cmp expected.txt series.txt
137 test_expect_success 'Test short no applied' '
138 test_when_finished "stg goto p2" &&
139 test_config stgit.shortnr 1 &&
140 stg pop -a &&
141 stg series --short > series.txt &&
142 echo "- p0" > expected.txt &&
143 test_cmp expected.txt series.txt
146 test_expect_success 'Test effects' '
147 test_config stgit.color.applied none &&
148 stg series --applied > series.txt &&
149 test_line_count = 3 series.txt
152 test_expect_success 'Test missing' '
153 stg branch --clone -- other &&
154 test "$(stg branch)" = "other" &&
155 stg series --missing=master > series.txt &&
156 test_line_count = 0 series.txt &&
157 stg pop p2 p1 &&
158 stg delete p2 p1 &&
159 stg series --noprefix --missing=master > series.txt &&
160 echo "p1" > expected.txt &&
161 echo "p2" >> expected.txt &&
162 test_cmp expected.txt series.txt
165 test_done