tests: use test_cmp instead of piping to diff(1)
Change submodule tests that piped to diff(1) to use test_cmp. The resulting unified diff is easier to read. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason committed
Nov 14, 2010 at 14:44 UTC
f8d186bba72342fed45ed27e89e1bd1179f31545
2 files changed
+94
-47
t/t4041-diff-submodule-option.sh
+64
-32
@@ -37,9 +37,10 @@ head1=$(add_file sm1 foo1 foo2)
37
test_expect_success 'added submodule' "
38
git add sm1 &&
39
git diff-index -p --submodule=log HEAD >actual &&
40
- diff actual - <<-EOF
40
+ cat >expected <<-EOF &&
41
Submodule sm1 0000000...$head1 (new submodule)
42
EOF
43
+ test_cmp expected actual
44
"
45
46
commit_file sm1 &&
@@ -47,33 +48,36 @@ head2=$(add_file sm1 foo3)
48
49
test_expect_success 'modified submodule(forward)' "
50
git diff-index -p --submodule=log HEAD >actual &&
50
- diff actual - <<-EOF
51
+ cat >expected <<-EOF &&
52
Submodule sm1 $head1..$head2:
53
> Add foo3
54
EOF
55
+ test_cmp expected actual
56
"
57
58
test_expect_success 'modified submodule(forward)' "
59
git diff --submodule=log >actual &&
58
- diff actual - <<-EOF
60
+ cat >expected <<-EOF &&
61
Submodule sm1 $head1..$head2:
62
> Add foo3
63
EOF
64
+ test_cmp expected actual
65
"
66
67
test_expect_success 'modified submodule(forward) --submodule' "
68
git diff --submodule >actual &&
66
- diff actual - <<-EOF
69
+ cat >expected <<-EOF &&
70
Submodule sm1 $head1..$head2:
71
> Add foo3
72
EOF
73
+ test_cmp expected actual
74
"
75
76
fullhead1=$(cd sm1; git rev-list --max-count=1 $head1)
77
fullhead2=$(cd sm1; git rev-list --max-count=1 $head2)
78
test_expect_success 'modified submodule(forward) --submodule=short' "
79
git diff --submodule=short >actual &&
76
- diff actual - <<-EOF
80
+ cat >expected <<-EOF &&
81
diff --git a/sm1 b/sm1
82
index $head1..$head2 160000
83
--- a/sm1
@@ -82,6 +86,7 @@ index $head1..$head2 160000
86
-Subproject commit $fullhead1
87
+Subproject commit $fullhead2
88
EOF
89
+ test_cmp expected actual
90
"
91
92
commit_file sm1 &&
@@ -93,24 +98,26 @@ head3=$(
98
99
test_expect_success 'modified submodule(backward)' "
100
git diff-index -p --submodule=log HEAD >actual &&
96
- diff actual - <<-EOF
101
+ cat >expected <<-EOF &&
102
Submodule sm1 $head2..$head3 (rewind):
103
< Add foo3
104
< Add foo2
105
EOF
106
+ test_cmp expected actual
107
"
108
109
head4=$(add_file sm1 foo4 foo5) &&
110
head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD)
111
test_expect_success 'modified submodule(backward and forward)' "
112
git diff-index -p --submodule=log HEAD >actual &&
107
- diff actual - <<-EOF
113
+ cat >expected <<-EOF &&
114
Submodule sm1 $head2...$head4:
115
> Add foo5
116
> Add foo4
117
< Add foo3
118
< Add foo2
119
EOF
120
+ test_cmp expected actual
121
"
122
123
commit_file sm1 &&
@@ -123,7 +130,7 @@ mv sm1-bak sm1
130
131
test_expect_success 'typechanged submodule(submodule->blob), --cached' "
132
git diff --submodule=log --cached >actual &&
126
- diff actual - <<-EOF
133
+ cat >expected <<-EOF &&
134
Submodule sm1 41fbea9...0000000 (submodule deleted)
135
diff --git a/sm1 b/sm1
136
new file mode 100644
@@ -133,11 +140,12 @@ index 0000000..9da5fb8
140
@@ -0,0 +1 @@
141
+sm1
142
EOF
143
+ test_cmp expected actual
144
"
145
146
test_expect_success 'typechanged submodule(submodule->blob)' "
147
git diff --submodule=log >actual &&
140
- diff actual - <<-EOF
148
+ cat >expected <<-EOF &&
149
diff --git a/sm1 b/sm1
150
deleted file mode 100644
151
index 9da5fb8..0000000
@@ -147,13 +155,14 @@ index 9da5fb8..0000000
155
-sm1
156
Submodule sm1 0000000...$head4 (new submodule)
157
EOF
158
+ test_cmp expected actual
159
"
160
161
rm -rf sm1 &&
162
git checkout-index sm1
163
test_expect_success 'typechanged submodule(submodule->blob)' "
164
git diff-index -p --submodule=log HEAD >actual &&
156
- diff actual - <<-EOF
165
+ cat >expected <<-EOF &&
166
Submodule sm1 $head4...0000000 (submodule deleted)
167
diff --git a/sm1 b/sm1
168
new file mode 100644
@@ -163,6 +172,7 @@ index 0000000..$head5
172
@@ -0,0 +1 @@
173
+sm1
174
EOF
175
+ test_cmp expected actual
176
"
177
178
rm -f sm1 &&
@@ -171,15 +181,16 @@ head6=$(add_file sm1 foo6 foo7)
181
fullhead6=$(cd sm1; git rev-list --max-count=1 $head6)
182
test_expect_success 'nonexistent commit' "
183
git diff-index -p --submodule=log HEAD >actual &&
174
- diff actual - <<-EOF
184
+ cat >expected <<-EOF &&
185
Submodule sm1 $head4...$head6 (commits not present)
186
EOF
187
+ test_cmp expected actual
188
"
189
190
commit_file
191
test_expect_success 'typechanged submodule(blob->submodule)' "
192
git diff-index -p --submodule=log HEAD >actual &&
182
- diff actual - <<-EOF
193
+ cat >expected <<-EOF &&
194
diff --git a/sm1 b/sm1
195
deleted file mode 100644
196
index $head5..0000000
@@ -189,21 +200,24 @@ index $head5..0000000
200
-sm1
201
Submodule sm1 0000000...$head6 (new submodule)
202
EOF
203
+ test_cmp expected actual
204
"
205
206
commit_file sm1 &&
207
test_expect_success 'submodule is up to date' "
208
git diff-index -p --submodule=log HEAD >actual &&
197
- diff actual - <<-EOF
209
+ cat >expected <<-EOF &&
210
EOF
211
+ test_cmp expected actual
212
"
213
214
test_expect_success 'submodule contains untracked content' "
215
echo new > sm1/new-file &&
216
git diff-index -p --submodule=log HEAD >actual &&
204
- diff actual - <<-EOF
217
+ cat >expected <<-EOF &&
218
Submodule sm1 contains untracked content
219
EOF
220
+ test_cmp expected actual
221
"
222
223
test_expect_success 'submodule contains untracked content (untracked ignored)' "
@@ -224,18 +238,20 @@ test_expect_success 'submodule contains untracked content (all ignored)' "
238
test_expect_success 'submodule contains untracked and modifed content' "
239
echo new > sm1/foo6 &&
240
git diff-index -p --submodule=log HEAD >actual &&
227
- diff actual - <<-EOF
241
+ cat >expected <<-EOF &&
242
Submodule sm1 contains untracked content
243
Submodule sm1 contains modified content
244
EOF
245
+ test_cmp expected actual
246
"
247
248
test_expect_success 'submodule contains untracked and modifed content (untracked ignored)' "
249
echo new > sm1/foo6 &&
250
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
236
- diff actual - <<-EOF
251
+ cat >expected <<-EOF &&
252
Submodule sm1 contains modified content
253
EOF
254
+ test_cmp expected actual
255
"
256
257
test_expect_success 'submodule contains untracked and modifed content (dirty ignored)' "
@@ -253,45 +269,50 @@ test_expect_success 'submodule contains untracked and modifed content (all ignor
269
test_expect_success 'submodule contains modifed content' "
270
rm -f sm1/new-file &&
271
git diff-index -p --submodule=log HEAD >actual &&
256
- diff actual - <<-EOF
272
+ cat >expected <<-EOF &&
273
Submodule sm1 contains modified content
274
EOF
275
+ test_cmp expected actual
276
"
277
278
(cd sm1; git commit -mchange foo6 >/dev/null) &&
279
head8=$(cd sm1; git rev-parse --verify HEAD | cut -c1-7) &&
280
test_expect_success 'submodule is modified' "
281
git diff-index -p --submodule=log HEAD >actual &&
265
- diff actual - <<-EOF
282
+ cat >expected <<-EOF &&
283
Submodule sm1 $head6..$head8:
284
> change
285
EOF
286
+ test_cmp expected actual
287
"
288
289
test_expect_success 'modified submodule contains untracked content' "
290
echo new > sm1/new-file &&
291
git diff-index -p --submodule=log HEAD >actual &&
274
- diff actual - <<-EOF
292
+ cat >expected <<-EOF &&
293
Submodule sm1 contains untracked content
294
Submodule sm1 $head6..$head8:
295
> change
296
EOF
297
+ test_cmp expected actual
298
"
299
300
test_expect_success 'modified submodule contains untracked content (untracked ignored)' "
301
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
283
- diff actual - <<-EOF
302
+ cat >expected <<-EOF &&
303
Submodule sm1 $head6..$head8:
304
> change
305
EOF
306
+ test_cmp expected actual
307
"
308
309
test_expect_success 'modified submodule contains untracked content (dirty ignored)' "
310
git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
291
- diff actual - <<-EOF
311
+ cat >expected <<-EOF &&
312
Submodule sm1 $head6..$head8:
313
> change
314
EOF
315
+ test_cmp expected actual
316
"
317
318
test_expect_success 'modified submodule contains untracked content (all ignored)' "
@@ -302,31 +323,34 @@ test_expect_success 'modified submodule contains untracked content (all ignored)
323
test_expect_success 'modified submodule contains untracked and modifed content' "
324
echo modification >> sm1/foo6 &&
325
git diff-index -p --submodule=log HEAD >actual &&
305
- diff actual - <<-EOF
326
+ cat >expected <<-EOF &&
327
Submodule sm1 contains untracked content
328
Submodule sm1 contains modified content
329
Submodule sm1 $head6..$head8:
330
> change
331
EOF
332
+ test_cmp expected actual
333
"
334
335
test_expect_success 'modified submodule contains untracked and modifed content (untracked ignored)' "
336
echo modification >> sm1/foo6 &&
337
git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual &&
316
- diff actual - <<-EOF
338
+ cat >expected <<-EOF &&
339
Submodule sm1 contains modified content
340
Submodule sm1 $head6..$head8:
341
> change
342
EOF
343
+ test_cmp expected actual
344
"
345
346
test_expect_success 'modified submodule contains untracked and modifed content (dirty ignored)' "
347
echo modification >> sm1/foo6 &&
348
git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual &&
326
- diff actual - <<-EOF
349
+ cat >expected <<-EOF &&
350
Submodule sm1 $head6..$head8:
351
> change
352
EOF
353
+ test_cmp expected actual
354
"
355
356
test_expect_success 'modified submodule contains untracked and modifed content (all ignored)' "
@@ -338,19 +362,21 @@ test_expect_success 'modified submodule contains untracked and modifed content (
362
test_expect_success 'modified submodule contains modifed content' "
363
rm -f sm1/new-file &&
364
git diff-index -p --submodule=log HEAD >actual &&
341
- diff actual - <<-EOF
365
+ cat >expected <<-EOF &&
366
Submodule sm1 contains modified content
367
Submodule sm1 $head6..$head8:
368
> change
369
EOF
370
+ test_cmp expected actual
371
"
372
373
rm -rf sm1
374
test_expect_success 'deleted submodule' "
375
git diff-index -p --submodule=log HEAD >actual &&
351
- diff actual - <<-EOF
376
+ cat >expected <<-EOF &&
377
Submodule sm1 $head6...0000000 (submodule deleted)
378
EOF
379
+ test_cmp expected actual
380
"
381
382
test_create_repo sm2 &&
@@ -359,41 +385,45 @@ git add sm2
385
386
test_expect_success 'multiple submodules' "
387
git diff-index -p --submodule=log HEAD >actual &&
362
- diff actual - <<-EOF
388
+ cat >expected <<-EOF &&
389
Submodule sm1 $head6...0000000 (submodule deleted)
390
Submodule sm2 0000000...$head7 (new submodule)
391
EOF
392
+ test_cmp expected actual
393
"
394
395
test_expect_success 'path filter' "
396
git diff-index -p --submodule=log HEAD sm2 >actual &&
370
- diff actual - <<-EOF
397
+ cat >expected <<-EOF &&
398
Submodule sm2 0000000...$head7 (new submodule)
399
EOF
400
+ test_cmp expected actual
401
"
402
403
commit_file sm2
404
test_expect_success 'given commit' "
405
git diff-index -p --submodule=log HEAD^ >actual &&
378
- diff actual - <<-EOF
406
+ cat >expected <<-EOF &&
407
Submodule sm1 $head6...0000000 (submodule deleted)
408
Submodule sm2 0000000...$head7 (new submodule)
409
EOF
410
+ test_cmp expected actual
411
"
412
413
test_expect_success 'given commit --submodule' "
414
git diff-index -p --submodule HEAD^ >actual &&
386
- diff actual - <<-EOF
415
+ cat >expected <<-EOF &&
416
Submodule sm1 $head6...0000000 (submodule deleted)
417
Submodule sm2 0000000...$head7 (new submodule)
418
EOF
419
+ test_cmp expected actual
420
"
421
422
fullhead7=$(cd sm2; git rev-list --max-count=1 $head7)
423
424
test_expect_success 'given commit --submodule=short' "
425
git diff-index -p --submodule=short HEAD^ >actual &&
396
- diff actual - <<-EOF
426
+ cat >expected <<-EOF &&
427
diff --git a/sm1 b/sm1
428
deleted file mode 160000
429
index $head6..0000000
@@ -409,6 +439,7 @@ index 0000000..$head7
439
@@ -0,0 +1 @@
440
+Subproject commit $fullhead7
441
EOF
442
+ test_cmp expected actual
443
"
444
445
test_expect_success 'setup .git file for sm2' '
@@ -420,10 +451,11 @@ test_expect_success 'setup .git file for sm2' '
451
452
test_expect_success 'diff --submodule with .git file' '
453
git diff --submodule HEAD^ >actual &&
423
- diff actual - <<-EOF
454
+ cat >expected <<-EOF &&
455
Submodule sm1 $head6...0000000 (submodule deleted)
456
Submodule sm2 0000000...$head7 (new submodule)
457
EOF
458
+ test_cmp expected actual
459
'
460
461
test_done
t/t7401-submodule-summary.sh
+30
-15
@@ -37,11 +37,12 @@ head1=$(add_file sm1 foo1 foo2)
37
test_expect_success 'added submodule' "
38
git add sm1 &&
39
git submodule summary >actual &&
40
- diff actual - <<-EOF
40
+ cat >expected <<-EOF &&
41
* sm1 0000000...$head1 (2):
42
> Add foo2
43
44
EOF
45
+ test_cmp expected actual
46
"
47
48
commit_file sm1 &&
@@ -49,20 +50,22 @@ head2=$(add_file sm1 foo3)
50
51
test_expect_success 'modified submodule(forward)' "
52
git submodule summary >actual &&
52
- diff actual - <<-EOF
53
+ cat >expected <<-EOF &&
54
* sm1 $head1...$head2 (1):
55
> Add foo3
56
57
EOF
58
+ test_cmp expected actual
59
"
60
61
test_expect_success 'modified submodule(forward), --files' "
62
git submodule summary --files >actual &&
61
- diff actual - <<-EOF
63
+ cat >expected <<-EOF &&
64
* sm1 $head1...$head2 (1):
65
> Add foo3
66
67
EOF
68
+ test_cmp expected actual
69
"
70
71
commit_file sm1 &&
@@ -74,19 +77,20 @@ head3=$(
77
78
test_expect_success 'modified submodule(backward)' "
79
git submodule summary >actual &&
77
- diff actual - <<-EOF
80
+ cat >expected <<-EOF &&
81
* sm1 $head2...$head3 (2):
82
< Add foo3
83
< Add foo2
84
85
EOF
86
+ test_cmp expected actual
87
"
88
89
head4=$(add_file sm1 foo4 foo5) &&
90
head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD)
91
test_expect_success 'modified submodule(backward and forward)' "
92
git submodule summary >actual &&
89
- diff actual - <<-EOF
93
+ cat >expected <<-EOF &&
94
* sm1 $head2...$head4 (4):
95
> Add foo5
96
> Add foo4
@@ -94,17 +98,19 @@ test_expect_success 'modified submodule(backward and forward)' "
98
< Add foo2
99
100
EOF
101
+ test_cmp expected actual
102
"
103
104
test_expect_success '--summary-limit' "
105
git submodule summary -n 3 >actual &&
101
- diff actual - <<-EOF
106
+ cat >expected <<-EOF &&
107
* sm1 $head2...$head4 (4):
108
> Add foo5
109
> Add foo4
110
< Add foo3
111
112
EOF
113
+ test_cmp expected actual
114
"
115
116
commit_file sm1 &&
@@ -117,30 +123,33 @@ mv sm1-bak sm1
123
124
test_expect_success 'typechanged submodule(submodule->blob), --cached' "
125
git submodule summary --cached >actual &&
120
- diff actual - <<-EOF
126
+ cat >expected <<-EOF &&
127
* sm1 $head4(submodule)->$head5(blob) (3):
128
< Add foo5
129
130
EOF
131
+ test_cmp actual expected
132
"
133
134
test_expect_success 'typechanged submodule(submodule->blob), --files' "
135
git submodule summary --files >actual &&
129
- diff actual - <<-EOF
136
+ cat >expected <<-EOF &&
137
* sm1 $head5(blob)->$head4(submodule) (3):
138
> Add foo5
139
140
EOF
141
+ test_cmp actual expected
142
"
143
144
rm -rf sm1 &&
145
git checkout-index sm1
146
test_expect_success 'typechanged submodule(submodule->blob)' "
147
git submodule summary >actual &&
140
- diff actual - <<-EOF
148
+ cat >expected <<-EOF &&
149
* sm1 $head4(submodule)->$head5(blob):
150
151
EOF
152
+ test_cmp actual expected
153
"
154
155
rm -f sm1 &&
@@ -148,31 +157,34 @@ test_create_repo sm1 &&
157
head6=$(add_file sm1 foo6 foo7)
158
test_expect_success 'nonexistent commit' "
159
git submodule summary >actual &&
151
- diff actual - <<-EOF
160
+ cat >expected <<-EOF &&
161
* sm1 $head4...$head6:
162
Warn: sm1 doesn't contain commit $head4_full
163
164
EOF
165
+ test_cmp actual expected
166
"
167
168
commit_file
169
test_expect_success 'typechanged submodule(blob->submodule)' "
170
git submodule summary >actual &&
161
- diff actual - <<-EOF
171
+ cat >expected <<-EOF &&
172
* sm1 $head5(blob)->$head6(submodule) (2):
173
> Add foo7
174
175
EOF
176
+ test_cmp expected actual
177
"
178
179
commit_file sm1 &&
180
rm -rf sm1
181
test_expect_success 'deleted submodule' "
182
git submodule summary >actual &&
172
- diff actual - <<-EOF
183
+ cat >expected <<-EOF &&
184
* sm1 $head6...0000000:
185
186
EOF
187
+ test_cmp expected actual
188
"
189
190
test_create_repo sm2 &&
@@ -181,34 +193,37 @@ git add sm2
193
194
test_expect_success 'multiple submodules' "
195
git submodule summary >actual &&
184
- diff actual - <<-EOF
196
+ cat >expected <<-EOF &&
197
* sm1 $head6...0000000:
198
199
* sm2 0000000...$head7 (2):
200
> Add foo9
201
202
EOF
203
+ test_cmp expected actual
204
"
205
206
test_expect_success 'path filter' "
207
git submodule summary sm2 >actual &&
195
- diff actual - <<-EOF
208
+ cat >expected <<-EOF &&
209
* sm2 0000000...$head7 (2):
210
> Add foo9
211
212
EOF
213
+ test_cmp expected actual
214
"
215
216
commit_file sm2
217
test_expect_success 'given commit' "
218
git submodule summary HEAD^ >actual &&
205
- diff actual - <<-EOF
219
+ cat >expected <<-EOF &&
220
* sm1 $head6...0000000:
221
222
* sm2 0000000...$head7 (2):
223
> Add foo9
224
225
EOF
226
+ test_cmp expected actual
227
"
228
229
test_expect_success '--for-status' "