3 # Copyright (c) 2015 Vincent Legoll
5 test_description
='Test import from quilt series'
15 # Revert to master status : undedit files
20 # Test importing quilt series
21 stg import
-s patches
/series
24 test_import_quilt_series_should_fail_p_something_ok
() {
25 quilt new
-p $1 patch-p
$1.
diff
30 quilt new
-p $1 patch-p
$1-s.
diff
36 test_import_quilt_series_should_fail_p_something_unexpected
() {
37 quilt new patch-p
$1.
diff
42 quilt new patch-p
$1-s.
diff
48 test_expect_success QUILT \
49 'Test quilt presence' \
52 test_expect_success QUILT \
53 'Prepare test environment' \
54 '# Initialize git tree
59 git commit -a -m initial
61 # Initialize patch stacking tool
65 test_expect_success QUILT \
66 'Import a quilt series with an empty patch' \
67 'quilt new empty.diff &&
74 test_expect_success QUILT \
75 'Import a quilt series with indented comments' \
76 'quilt new patch_before_comment.diff &&
80 echo "# Test comment at beginning-of-line" >> patches/series &&
81 echo " # Test <SPACE> character before comment" >> patches/series &&
82 echo " # Test <TAB> character before comment" >> patches/series &&
83 quilt new patch_after_comments.diff &&
92 test_expect_success QUILT \
93 'Import a quilt series with patches for toplevel files' \
94 'quilt new patch.diff &&
98 quilt new -p 0 patch-p0.diff &&
102 quilt new -p 1 patch-p1.diff &&
106 quilt new -p ab patch-pab.diff &&
115 test_expect_success QUILT \
116 'Import a quilt series with patches for subdirectories files' \
117 'quilt new patch-s.diff &&
121 quilt new -p 0 patch-p0-s.diff &&
125 quilt new -p 1 patch-p1-s.diff &&
129 quilt new -p ab patch-pab-s.diff &&
138 test_expect_success QUILT \
139 'Import a quilt series with unexpected "-p" in series' \
140 'test_import_quilt_series_should_fail_p_something_unexpected '' &&
142 sed -e "s/^\(.*\)$/\1 -p/g" patches/series > series_messed &&
143 mv series_messed patches/series &&
144 test_expect_code 2 check_test &&
148 test_expect_success QUILT \
149 'Import a quilt series with unexpected "-p1" in series' \
150 'test_import_quilt_series_should_fail_p_something_ok 1 &&
152 sed -e "s/^\(.*\)$/\1 -p1/g" patches/series > series_messed &&
153 mv series_messed patches/series &&
154 test_expect_code 2 check_test &&
158 test_expect_success QUILT \
159 'Import a quilt series with unexpected "-pab" in series' \
160 'test_import_quilt_series_should_fail_p_something_ok ab &&
162 sed -e "s/^\(.*\)$/\1 -pab/g" patches/series > series_messed &&
163 mv series_messed patches/series &&
164 test_expect_code 2 check_test &&
168 test_expect_success QUILT \
169 'Import a quilt series with unexpected "-p000" in series' \
170 'test_import_quilt_series_should_fail_p_something_unexpected 000 &&
172 sed -e "s/^\(.*\)$/\1 -p000/g" patches/series > series_messed &&
173 mv series_messed patches/series &&
174 test_expect_code 2 check_test &&
178 test_expect_success QUILT \
179 'Import a quilt series with unexpected "-p42" in series' \
180 'test_import_quilt_series_should_fail_p_something_unexpected 42 &&
182 sed -e "s/^\(.*\)$/\1 -p42/g" patches/series > series_messed &&
183 mv series_messed patches/series &&
184 test_expect_code 2 check_test &&
188 test_expect_success QUILT \
189 'Import a quilt series with unexpected "-pYo" in series' \
190 'test_import_quilt_series_should_fail_p_something_unexpected Yo &&
192 sed -e "s/^\(.*\)$/\1 -pYo/g" patches/series > series_messed &&
193 mv series_messed patches/series &&
194 test_expect_code 2 check_test &&
198 test_expect_success QUILT \
199 'Quilt import filename with spaces' \
200 'echo 1 > "filename with space.txt" &&
201 git add "filename with space.txt" &&
202 git commit -m initial &&
203 quilt new patch-test-space-fn.diff &&
204 quilt add "filename with space.txt" &&
205 echo 2 > "filename with space.txt" &&
208 stg import -s patches/series &&
213 test_expect_success QUILT \
214 'Quilt import series with subdirs' \
215 'echo 1 > "filename.txt" &&
216 git add "filename.txt" &&
217 git commit -m initial &&
218 quilt new d1/patch-test-subdir-patches.diff &&
219 quilt add "filename.txt" &&
220 echo 2 > "filename.txt" &&
222 quilt new d2/patch-test-subdir-patches.diff &&
223 quilt add "filename.txt" &&
224 echo 3 > "filename.txt" &&
227 stg import -s patches/series &&