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