t5303-pack-corruption-resilience: modernize test format

Some tests still use the old format with four spaces indentation. Standardize the tests to the new format with tab indentation. Signed-off-by: John Cai <johncai86@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

John Cai committed May 18, 2023 at 20:03 UTC aac864059f27f29aeab7b2e08521f74cb9e2fd91
1 file changed +292 -292
t/t5303-pack-corruption-resilience.sh
+292 -292
@@ -59,304 +59,304 @@ do_corrupt_object() {
59
60 printf '\0' > zero
61
62 -test_expect_success \
63 - 'initial setup validation' \
64 - 'create_test_files &&
65 - create_new_pack &&
66 - git prune-packed &&
67 - git cat-file blob $blob_1 > /dev/null &&
68 - git cat-file blob $blob_2 > /dev/null &&
69 - git cat-file blob $blob_3 > /dev/null'
70 -
71 -test_expect_success \
72 - 'create corruption in header of first object' \
73 - 'do_corrupt_object $blob_1 0 < zero &&
74 - test_must_fail git cat-file blob $blob_1 > /dev/null &&
75 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
76 - test_must_fail git cat-file blob $blob_3 > /dev/null'
77 -
78 -test_expect_success \
79 - '... but having a loose copy allows for full recovery' \
80 - 'mv ${pack}.idx tmp &&
81 - git hash-object -t blob -w file_1 &&
82 - mv tmp ${pack}.idx &&
83 - git cat-file blob $blob_1 > /dev/null &&
84 - git cat-file blob $blob_2 > /dev/null &&
85 - git cat-file blob $blob_3 > /dev/null'
86 -
87 -test_expect_success \
88 - '... and loose copy of first delta allows for partial recovery' \
89 - 'git prune-packed &&
90 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
91 - mv ${pack}.idx tmp &&
92 - git hash-object -t blob -w file_2 &&
93 - mv tmp ${pack}.idx &&
94 - test_must_fail git cat-file blob $blob_1 > /dev/null &&
95 - git cat-file blob $blob_2 > /dev/null &&
96 - git cat-file blob $blob_3 > /dev/null'
97 -
98 -test_expect_success \
99 - 'create corruption in data of first object' \
100 - 'create_new_pack &&
101 - git prune-packed &&
102 - chmod +w ${pack}.pack &&
103 - perl -i.bak -pe "s/ base /abcdef/" ${pack}.pack &&
104 - test_must_fail git cat-file blob $blob_1 > /dev/null &&
105 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
106 - test_must_fail git cat-file blob $blob_3 > /dev/null'
107 -
108 -test_expect_success \
109 - '... but having a loose copy allows for full recovery' \
110 - 'mv ${pack}.idx tmp &&
111 - git hash-object -t blob -w file_1 &&
112 - mv tmp ${pack}.idx &&
113 - git cat-file blob $blob_1 > /dev/null &&
114 - git cat-file blob $blob_2 > /dev/null &&
115 - git cat-file blob $blob_3 > /dev/null'
116 -
117 -test_expect_success \
118 - '... and loose copy of second object allows for partial recovery' \
119 - 'git prune-packed &&
120 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
121 - mv ${pack}.idx tmp &&
122 - git hash-object -t blob -w file_2 &&
123 - mv tmp ${pack}.idx &&
124 - test_must_fail git cat-file blob $blob_1 > /dev/null &&
125 - git cat-file blob $blob_2 > /dev/null &&
126 - git cat-file blob $blob_3 > /dev/null'
127 -
128 -test_expect_success \
129 - 'create corruption in header of first delta' \
130 - 'create_new_pack &&
131 - git prune-packed &&
132 - do_corrupt_object $blob_2 0 < zero &&
133 - git cat-file blob $blob_1 > /dev/null &&
134 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
135 - test_must_fail git cat-file blob $blob_3 > /dev/null'
136 -
137 -test_expect_success \
138 - '... but having a loose copy allows for full recovery' \
139 - 'mv ${pack}.idx tmp &&
140 - git hash-object -t blob -w file_2 &&
141 - mv tmp ${pack}.idx &&
142 - git cat-file blob $blob_1 > /dev/null &&
143 - git cat-file blob $blob_2 > /dev/null &&
144 - git cat-file blob $blob_3 > /dev/null'
145 -
146 -test_expect_success \
147 - '... and then a repack "clears" the corruption' \
148 - 'do_repack &&
149 - git prune-packed &&
150 - git verify-pack ${pack}.pack &&
151 - git cat-file blob $blob_1 > /dev/null &&
152 - git cat-file blob $blob_2 > /dev/null &&
153 - git cat-file blob $blob_3 > /dev/null'
154 -
155 -test_expect_success \
156 - 'create corruption in data of first delta' \
157 - 'create_new_pack &&
158 - git prune-packed &&
159 - chmod +w ${pack}.pack &&
160 - perl -i.bak -pe "s/ delta1 /abcdefgh/" ${pack}.pack &&
161 - git cat-file blob $blob_1 > /dev/null &&
162 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
163 - test_must_fail git cat-file blob $blob_3 > /dev/null'
164 -
165 -test_expect_success \
166 - '... but having a loose copy allows for full recovery' \
167 - 'mv ${pack}.idx tmp &&
168 - git hash-object -t blob -w file_2 &&
169 - mv tmp ${pack}.idx &&
170 - git cat-file blob $blob_1 > /dev/null &&
171 - git cat-file blob $blob_2 > /dev/null &&
172 - git cat-file blob $blob_3 > /dev/null'
173 -
174 -test_expect_success \
175 - '... and then a repack "clears" the corruption' \
176 - 'do_repack &&
177 - git prune-packed &&
178 - git verify-pack ${pack}.pack &&
179 - git cat-file blob $blob_1 > /dev/null &&
180 - git cat-file blob $blob_2 > /dev/null &&
181 - git cat-file blob $blob_3 > /dev/null'
182 -
183 -test_expect_success \
184 - 'corruption in delta base reference of first delta (OBJ_REF_DELTA)' \
185 - 'create_new_pack &&
186 - git prune-packed &&
187 - do_corrupt_object $blob_2 2 < zero &&
188 - git cat-file blob $blob_1 > /dev/null &&
189 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
190 - test_must_fail git cat-file blob $blob_3 > /dev/null'
191 -
192 -test_expect_success \
193 - '... but having a loose copy allows for full recovery' \
194 - 'mv ${pack}.idx tmp &&
195 - git hash-object -t blob -w file_2 &&
196 - mv tmp ${pack}.idx &&
197 - git cat-file blob $blob_1 > /dev/null &&
198 - git cat-file blob $blob_2 > /dev/null &&
199 - git cat-file blob $blob_3 > /dev/null'
200 -
201 -test_expect_success \
202 - '... and then a repack "clears" the corruption' \
203 - 'do_repack &&
204 - git prune-packed &&
205 - git verify-pack ${pack}.pack &&
206 - git cat-file blob $blob_1 > /dev/null &&
207 - git cat-file blob $blob_2 > /dev/null &&
208 - git cat-file blob $blob_3 > /dev/null'
209 -
210 -test_expect_success \
211 - 'corruption #0 in delta base reference of first delta (OBJ_OFS_DELTA)' \
212 - 'create_new_pack --delta-base-offset &&
213 - git prune-packed &&
214 - do_corrupt_object $blob_2 2 < zero &&
215 - git cat-file blob $blob_1 > /dev/null &&
216 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
217 - test_must_fail git cat-file blob $blob_3 > /dev/null'
218 -
219 -test_expect_success \
220 - '... but having a loose copy allows for full recovery' \
221 - 'mv ${pack}.idx tmp &&
222 - git hash-object -t blob -w file_2 &&
223 - mv tmp ${pack}.idx &&
224 - git cat-file blob $blob_1 > /dev/null &&
225 - git cat-file blob $blob_2 > /dev/null &&
226 - git cat-file blob $blob_3 > /dev/null'
227 -
228 -test_expect_success \
229 - '... and then a repack "clears" the corruption' \
230 - 'do_repack --delta-base-offset &&
231 - git prune-packed &&
232 - git verify-pack ${pack}.pack &&
233 - git cat-file blob $blob_1 > /dev/null &&
234 - git cat-file blob $blob_2 > /dev/null &&
235 - git cat-file blob $blob_3 > /dev/null'
236 -
237 -test_expect_success \
238 - 'corruption #1 in delta base reference of first delta (OBJ_OFS_DELTA)' \
239 - 'create_new_pack --delta-base-offset &&
240 - git prune-packed &&
241 - printf "\001" | do_corrupt_object $blob_2 2 &&
242 - git cat-file blob $blob_1 > /dev/null &&
243 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
244 - test_must_fail git cat-file blob $blob_3 > /dev/null'
245 -
246 -test_expect_success \
247 - '... but having a loose copy allows for full recovery' \
248 - 'mv ${pack}.idx tmp &&
249 - git hash-object -t blob -w file_2 &&
250 - mv tmp ${pack}.idx &&
251 - git cat-file blob $blob_1 > /dev/null &&
252 - git cat-file blob $blob_2 > /dev/null &&
253 - git cat-file blob $blob_3 > /dev/null'
254 -
255 -test_expect_success \
256 - '... and then a repack "clears" the corruption' \
257 - 'do_repack --delta-base-offset &&
258 - git prune-packed &&
259 - git verify-pack ${pack}.pack &&
260 - git cat-file blob $blob_1 > /dev/null &&
261 - git cat-file blob $blob_2 > /dev/null &&
262 - git cat-file blob $blob_3 > /dev/null'
263 -
264 -test_expect_success \
265 - '... and a redundant pack allows for full recovery too' \
266 - 'do_corrupt_object $blob_2 2 < zero &&
267 - git cat-file blob $blob_1 > /dev/null &&
268 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
269 - test_must_fail git cat-file blob $blob_3 > /dev/null &&
270 - mv ${pack}.idx tmp &&
271 - git hash-object -t blob -w file_1 &&
272 - git hash-object -t blob -w file_2 &&
273 - printf "$blob_1\n$blob_2\n" | git pack-objects .git/objects/pack/pack &&
274 - git prune-packed &&
275 - mv tmp ${pack}.idx &&
276 - git cat-file blob $blob_1 > /dev/null &&
277 - git cat-file blob $blob_2 > /dev/null &&
278 - git cat-file blob $blob_3 > /dev/null'
279 -
280 -test_expect_success \
281 - 'corruption of delta base reference pointing to wrong object' \
282 - 'create_new_pack --delta-base-offset &&
283 - git prune-packed &&
284 - printf "\220\033" | do_corrupt_object $blob_3 2 &&
285 - git cat-file blob $blob_1 >/dev/null &&
286 - git cat-file blob $blob_2 >/dev/null &&
287 - test_must_fail git cat-file blob $blob_3 >/dev/null'
288 -
289 -test_expect_success \
290 - '... but having a loose copy allows for full recovery' \
291 - 'mv ${pack}.idx tmp &&
292 - git hash-object -t blob -w file_3 &&
293 - mv tmp ${pack}.idx &&
294 - git cat-file blob $blob_1 > /dev/null &&
295 - git cat-file blob $blob_2 > /dev/null &&
296 - git cat-file blob $blob_3 > /dev/null'
297 -
298 -test_expect_success \
299 - '... and then a repack "clears" the corruption' \
300 - 'do_repack --delta-base-offset --no-reuse-delta &&
301 - git prune-packed &&
302 - git verify-pack ${pack}.pack &&
303 - git cat-file blob $blob_1 > /dev/null &&
304 - git cat-file blob $blob_2 > /dev/null &&
305 - git cat-file blob $blob_3 > /dev/null'
306 -
307 -test_expect_success \
308 - 'corrupting header to have too small output buffer fails unpack' \
309 - 'create_new_pack &&
310 - git prune-packed &&
311 - printf "\262\001" | do_corrupt_object $blob_1 0 &&
312 - test_must_fail git cat-file blob $blob_1 > /dev/null &&
313 - test_must_fail git cat-file blob $blob_2 > /dev/null &&
314 - test_must_fail git cat-file blob $blob_3 > /dev/null'
62 +test_expect_success 'initial setup validation' '
63 + create_test_files &&
64 + create_new_pack &&
65 + git prune-packed &&
66 + git cat-file blob $blob_1 > /dev/null &&
67 + git cat-file blob $blob_2 > /dev/null &&
68 + git cat-file blob $blob_3 > /dev/null
69 +'
70 +
71 +test_expect_success 'create corruption in header of first object' '
72 + do_corrupt_object $blob_1 0 < zero &&
73 + test_must_fail git cat-file blob $blob_1 > /dev/null &&
74 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
75 + test_must_fail git cat-file blob $blob_3 > /dev/null
76 +'
77 +
78 +test_expect_success '... but having a loose copy allows for full recovery' '
79 + mv ${pack}.idx tmp &&
80 + git hash-object -t blob -w file_1 &&
81 + mv tmp ${pack}.idx &&
82 + git cat-file blob $blob_1 > /dev/null &&
83 + git cat-file blob $blob_2 > /dev/null &&
84 + git cat-file blob $blob_3 > /dev/null
85 +'
86 +
87 +test_expect_success '... and loose copy of first delta allows for partial recovery' '
88 + git prune-packed &&
89 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
90 + mv ${pack}.idx tmp &&
91 + git hash-object -t blob -w file_2 &&
92 + mv tmp ${pack}.idx &&
93 + test_must_fail git cat-file blob $blob_1 > /dev/null &&
94 + git cat-file blob $blob_2 > /dev/null &&
95 + git cat-file blob $blob_3 > /dev/null
96 +'
97 +
98 +test_expect_success 'create corruption in data of first object' '
99 + create_new_pack &&
100 + git prune-packed &&
101 + chmod +w ${pack}.pack &&
102 + perl -i.bak -pe "s/ base /abcdef/" ${pack}.pack &&
103 + test_must_fail git cat-file blob $blob_1 > /dev/null &&
104 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
105 + test_must_fail git cat-file blob $blob_3 > /dev/null
106 +'
107 +
108 +test_expect_success '... but having a loose copy allows for full recovery' '
109 + mv ${pack}.idx tmp &&
110 + git hash-object -t blob -w file_1 &&
111 + mv tmp ${pack}.idx &&
112 + git cat-file blob $blob_1 > /dev/null &&
113 + git cat-file blob $blob_2 > /dev/null &&
114 + git cat-file blob $blob_3 > /dev/null
115 +'
116 +
117 +test_expect_success '... and loose copy of second object allows for partial recovery' '
118 + git prune-packed &&
119 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
120 + mv ${pack}.idx tmp &&
121 + git hash-object -t blob -w file_2 &&
122 + mv tmp ${pack}.idx &&
123 + test_must_fail git cat-file blob $blob_1 > /dev/null &&
124 + git cat-file blob $blob_2 > /dev/null &&
125 + git cat-file blob $blob_3 > /dev/null
126 +'
127 +
128 +test_expect_success 'create corruption in header of first delta' '
129 + create_new_pack &&
130 + git prune-packed &&
131 + do_corrupt_object $blob_2 0 < zero &&
132 + git cat-file blob $blob_1 > /dev/null &&
133 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
134 + test_must_fail git cat-file blob $blob_3 > /dev/null
135 +'
136 +
137 +test_expect_success '... but having a loose copy allows for full recovery' '
138 + mv ${pack}.idx tmp &&
139 + git hash-object -t blob -w file_2 &&
140 + mv tmp ${pack}.idx &&
141 + git cat-file blob $blob_1 > /dev/null &&
142 + git cat-file blob $blob_2 > /dev/null &&
143 + git cat-file blob $blob_3 > /dev/null
144 +'
145 +
146 +test_expect_success '... and then a repack "clears" the corruption' '
147 + do_repack &&
148 + git prune-packed &&
149 + git verify-pack ${pack}.pack &&
150 + git cat-file blob $blob_1 > /dev/null &&
151 + git cat-file blob $blob_2 > /dev/null &&
152 + git cat-file blob $blob_3 > /dev/null
153 +'
154 +
155 +test_expect_success 'create corruption in data of first delta' '
156 + create_new_pack &&
157 + git prune-packed &&
158 + chmod +w ${pack}.pack &&
159 + perl -i.bak -pe "s/ delta1 /abcdefgh/" ${pack}.pack &&
160 + git cat-file blob $blob_1 > /dev/null &&
161 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
162 + test_must_fail git cat-file blob $blob_3 > /dev/null
163 +'
164 +
165 +test_expect_success '... but having a loose copy allows for full recovery' '
166 + mv ${pack}.idx tmp &&
167 + git hash-object -t blob -w file_2 &&
168 + mv tmp ${pack}.idx &&
169 + git cat-file blob $blob_1 > /dev/null &&
170 + git cat-file blob $blob_2 > /dev/null &&
171 + git cat-file blob $blob_3 > /dev/null
172 +'
173 +
174 +test_expect_success '... and then a repack "clears" the corruption' '
175 + do_repack &&
176 + git prune-packed &&
177 + git verify-pack ${pack}.pack &&
178 + git cat-file blob $blob_1 > /dev/null &&
179 + git cat-file blob $blob_2 > /dev/null &&
180 + git cat-file blob $blob_3 > /dev/null
181 +'
182 +
183 +test_expect_success 'corruption in delta base reference of first delta (OBJ_REF_DELTA)' '
184 + create_new_pack &&
185 + git prune-packed &&
186 + do_corrupt_object $blob_2 2 < zero &&
187 + git cat-file blob $blob_1 > /dev/null &&
188 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
189 + test_must_fail git cat-file blob $blob_3 > /dev/null
190 +'
191 +
192 +test_expect_success '... but having a loose copy allows for full recovery' '
193 + mv ${pack}.idx tmp &&
194 + git hash-object -t blob -w file_2 &&
195 + mv tmp ${pack}.idx &&
196 + git cat-file blob $blob_1 > /dev/null &&
197 + git cat-file blob $blob_2 > /dev/null &&
198 + git cat-file blob $blob_3 > /dev/null
199 +'
200 +
201 +test_expect_success '... and then a repack "clears" the corruption' '
202 + do_repack &&
203 + git prune-packed &&
204 + git verify-pack ${pack}.pack &&
205 + git cat-file blob $blob_1 > /dev/null &&
206 + git cat-file blob $blob_2 > /dev/null &&
207 + git cat-file blob $blob_3 > /dev/null
208 +'
209 +
210 +test_expect_success 'corruption #0 in delta base reference of first delta (OBJ_OFS_DELTA)' '
211 + create_new_pack --delta-base-offset &&
212 + git prune-packed &&
213 + do_corrupt_object $blob_2 2 < zero &&
214 + git cat-file blob $blob_1 > /dev/null &&
215 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
216 + test_must_fail git cat-file blob $blob_3 > /dev/null
217 +'
218 +
219 +test_expect_success '... but having a loose copy allows for full recovery' '
220 + mv ${pack}.idx tmp &&
221 + git hash-object -t blob -w file_2 &&
222 + mv tmp ${pack}.idx &&
223 + git cat-file blob $blob_1 > /dev/null &&
224 + git cat-file blob $blob_2 > /dev/null &&
225 + git cat-file blob $blob_3 > /dev/null
226 +'
227 +
228 +test_expect_success '... and then a repack "clears" the corruption' '
229 + do_repack --delta-base-offset &&
230 + git prune-packed &&
231 + git verify-pack ${pack}.pack &&
232 + git cat-file blob $blob_1 > /dev/null &&
233 + git cat-file blob $blob_2 > /dev/null &&
234 + git cat-file blob $blob_3 > /dev/null
235 +'
236 +
237 +test_expect_success 'corruption #1 in delta base reference of first delta (OBJ_OFS_DELTA)' '
238 + create_new_pack --delta-base-offset &&
239 + git prune-packed &&
240 + printf "\001" | do_corrupt_object $blob_2 2 &&
241 + git cat-file blob $blob_1 > /dev/null &&
242 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
243 + test_must_fail git cat-file blob $blob_3 > /dev/null
244 +'
245 +
246 +test_expect_success '... but having a loose copy allows for full recovery' '
247 + mv ${pack}.idx tmp &&
248 + git hash-object -t blob -w file_2 &&
249 + mv tmp ${pack}.idx &&
250 + git cat-file blob $blob_1 > /dev/null &&
251 + git cat-file blob $blob_2 > /dev/null &&
252 + git cat-file blob $blob_3 > /dev/null
253 +'
254 +
255 +test_expect_success '... and then a repack "clears" the corruption' '
256 + do_repack --delta-base-offset &&
257 + git prune-packed &&
258 + git verify-pack ${pack}.pack &&
259 + git cat-file blob $blob_1 > /dev/null &&
260 + git cat-file blob $blob_2 > /dev/null &&
261 + git cat-file blob $blob_3 > /dev/null
262 +'
263 +
264 +test_expect_success '... and a redundant pack allows for full recovery too' '
265 + do_corrupt_object $blob_2 2 < zero &&
266 + git cat-file blob $blob_1 > /dev/null &&
267 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
268 + test_must_fail git cat-file blob $blob_3 > /dev/null &&
269 + mv ${pack}.idx tmp &&
270 + git hash-object -t blob -w file_1 &&
271 + git hash-object -t blob -w file_2 &&
272 + printf "$blob_1\n$blob_2\n" | git pack-objects .git/objects/pack/pack &&
273 + git prune-packed &&
274 + mv tmp ${pack}.idx &&
275 + git cat-file blob $blob_1 > /dev/null &&
276 + git cat-file blob $blob_2 > /dev/null &&
277 + git cat-file blob $blob_3 > /dev/null
278 +'
279 +
280 +test_expect_success 'corruption of delta base reference pointing to wrong object' '
281 + create_new_pack --delta-base-offset &&
282 + git prune-packed &&
283 + printf "\220\033" | do_corrupt_object $blob_3 2 &&
284 + git cat-file blob $blob_1 >/dev/null &&
285 + git cat-file blob $blob_2 >/dev/null &&
286 + test_must_fail git cat-file blob $blob_3 >/dev/null
287 +'
288 +
289 +test_expect_success '... but having a loose copy allows for full recovery' '
290 + mv ${pack}.idx tmp &&
291 + git hash-object -t blob -w file_3 &&
292 + mv tmp ${pack}.idx &&
293 + git cat-file blob $blob_1 > /dev/null &&
294 + git cat-file blob $blob_2 > /dev/null &&
295 + git cat-file blob $blob_3 > /dev/null
296 +'
297 +
298 +test_expect_success '... and then a repack "clears" the corruption' '
299 + do_repack --delta-base-offset --no-reuse-delta &&
300 + git prune-packed &&
301 + git verify-pack ${pack}.pack &&
302 + git cat-file blob $blob_1 > /dev/null &&
303 + git cat-file blob $blob_2 > /dev/null &&
304 + git cat-file blob $blob_3 > /dev/null
305 +'
306 +
307 +test_expect_success 'corrupting header to have too small output buffer fails unpack' '
308 + create_new_pack &&
309 + git prune-packed &&
310 + printf "\262\001" | do_corrupt_object $blob_1 0 &&
311 + test_must_fail git cat-file blob $blob_1 > /dev/null &&
312 + test_must_fail git cat-file blob $blob_2 > /dev/null &&
313 + test_must_fail git cat-file blob $blob_3 > /dev/null
314 +'
315
316 # \0 - empty base
317 # \1 - one byte in result
318 # \1 - one literal byte (X)
319 -test_expect_success \
320 - 'apply good minimal delta' \
321 - 'printf "\0\1\1X" > minimal_delta &&
322 - test-tool delta -p /dev/null minimal_delta /dev/null'
319 +test_expect_success 'apply good minimal delta' '
320 + printf "\0\1\1X" > minimal_delta &&
321 + test-tool delta -p /dev/null minimal_delta /dev/null
322 +'
323
324 # \0 - empty base
325 # \1 - 1 byte in result
326 # \2 - two literal bytes (one too many)
327 -test_expect_success \
328 - 'apply delta with too many literal bytes' \
329 - 'printf "\0\1\2XX" > too_big_literal &&
330 - test_must_fail test-tool delta -p /dev/null too_big_literal /dev/null'
327 +test_expect_success 'apply delta with too many literal bytes' '
328 + printf "\0\1\2XX" > too_big_literal &&
329 + test_must_fail test-tool delta -p /dev/null too_big_literal /dev/null
330 +'
331
332 # \4 - four bytes in base
333 # \1 - one byte in result
334 # \221 - copy, one byte offset, one byte size
335 # \0 - copy from offset 0
336 # \2 - copy two bytes (one too many)
337 -test_expect_success \
338 - 'apply delta with too many copied bytes' \
339 - 'printf "\4\1\221\0\2" > too_big_copy &&
340 - printf base >base &&
341 - test_must_fail test-tool delta -p base too_big_copy /dev/null'
337 +test_expect_success 'apply delta with too many copied bytes' '
338 + printf "\4\1\221\0\2" > too_big_copy &&
339 + printf base >base &&
340 + test_must_fail test-tool delta -p base too_big_copy /dev/null
341 +'
342
343 # \0 - empty base
344 # \2 - two bytes in result
345 # \2 - two literal bytes (we are short one)
346 -test_expect_success \
347 - 'apply delta with too few literal bytes' \
348 - 'printf "\0\2\2X" > truncated_delta &&
349 - test_must_fail test-tool delta -p /dev/null truncated_delta /dev/null'
346 +test_expect_success 'apply delta with too few literal bytes' '
347 + printf "\0\2\2X" > truncated_delta &&
348 + test_must_fail test-tool delta -p /dev/null truncated_delta /dev/null
349 +'
350
351 # \0 - empty base
352 # \1 - one byte in result
353 # \221 - copy, one byte offset, one byte size
354 # \0 - copy from offset 0
355 # \1 - copy one byte (we are short one)
356 -test_expect_success \
357 - 'apply delta with too few bytes in base' \
358 - 'printf "\0\1\221\0\1" > truncated_base &&
359 - test_must_fail test-tool delta -p /dev/null truncated_base /dev/null'
356 +test_expect_success 'apply delta with too few bytes in base' '
357 + printf "\0\1\221\0\1" > truncated_base &&
358 + test_must_fail test-tool delta -p /dev/null truncated_base /dev/null
359 +'
360
361 # \4 - four bytes in base
362 # \2 - two bytes in result
@@ -366,20 +366,20 @@ test_expect_success \
366 #
367 # Note that the literal byte is necessary to get past the uninteresting minimum
368 # delta size check.
369 -test_expect_success \
370 - 'apply delta with truncated copy parameters' \
371 - 'printf "\4\2\1X\221" > truncated_copy_delta &&
372 - printf base >base &&
373 - test_must_fail test-tool delta -p base truncated_copy_delta /dev/null'
369 +test_expect_success 'apply delta with truncated copy parameters' '
370 + printf "\4\2\1X\221" > truncated_copy_delta &&
371 + printf base >base &&
372 + test_must_fail test-tool delta -p base truncated_copy_delta /dev/null
373 +'
374
375 # \0 - empty base
376 # \1 - one byte in result
377 # \1 - one literal byte (X)
378 # \1 - trailing garbage command
379 -test_expect_success \
380 - 'apply delta with trailing garbage literal' \
381 - 'printf "\0\1\1X\1" > tail_garbage_literal &&
382 - test_must_fail test-tool delta -p /dev/null tail_garbage_literal /dev/null'
379 +test_expect_success 'apply delta with trailing garbage literal' '
380 + printf "\0\1\1X\1" > tail_garbage_literal &&
381 + test_must_fail test-tool delta -p /dev/null tail_garbage_literal /dev/null
382 +'
383
384 # \4 - four bytes in base
385 # \1 - one byte in result
@@ -387,19 +387,19 @@ test_expect_success \
387 # \221 - copy, one byte offset, one byte size
388 # \0 - copy from offset 0
389 # \1 - copy 1 byte
390 -test_expect_success \
391 - 'apply delta with trailing garbage copy' \
392 - 'printf "\4\1\1X\221\0\1" > tail_garbage_copy &&
393 - printf base >base &&
394 - test_must_fail test-tool delta -p /dev/null tail_garbage_copy /dev/null'
390 +test_expect_success 'apply delta with trailing garbage copy' '
391 + printf "\4\1\1X\221\0\1" > tail_garbage_copy &&
392 + printf base >base &&
393 + test_must_fail test-tool delta -p /dev/null tail_garbage_copy /dev/null
394 +'
395
396 # \0 - empty base
397 # \1 - one byte in result
398 # \1 - one literal byte (X)
399 # \0 - bogus opcode
400 -test_expect_success \
401 - 'apply delta with trailing garbage opcode' \
402 - 'printf "\0\1\1X\0" > tail_garbage_opcode &&
403 - test_must_fail test-tool delta -p /dev/null tail_garbage_opcode /dev/null'
400 +test_expect_success 'apply delta with trailing garbage opcode' '
401 + printf "\0\1\1X\0" > tail_garbage_opcode &&
402 + test_must_fail test-tool delta -p /dev/null tail_garbage_opcode /dev/null
403 +'
404
405 test_done