Skip to content

Commit cabdee2

Browse files
committed
i18n: do not overuse C_LOCALE_OUTPUT
It is too coarse-grained way that led to artificial splitting of a logically single test case into "do" and "check only without poison". As the majority of check is done by comparing expected and actual output stored in a file with test_cmp anyway, just introduce test_i18ncmp that pretends the actual output matched the expected one when gettext-poison is in effect. Signed-off-by: Junio C Hamano <[email protected]>
1 parent 2c050e0 commit cabdee2

File tree

2 files changed

+44
-57
lines changed

2 files changed

+44
-57
lines changed

t/t5526-fetch-submodules.sh

Lines changed: 36 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,9 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" '
6666
(
6767
cd downstream &&
6868
git fetch --recurse-submodules >../actual.out 2>../actual.err
69-
)
70-
'
71-
72-
test_expect_success C_LOCALE_OUTPUT "fetch --recurse-submodules recurses into submodules: output" '
73-
test_cmp expect.out actual.out &&
74-
test_cmp expect.err actual.err
69+
) &&
70+
test_i18ncmp expect.out actual.out &&
71+
test_i18ncmp expect.err actual.err
7572
'
7673

7774
test_expect_success "fetch alone only fetches superproject" '
@@ -98,12 +95,9 @@ test_expect_success "using fetchRecurseSubmodules=true in .gitmodules recurses i
9895
cd downstream &&
9996
git config -f .gitmodules submodule.submodule.fetchRecurseSubmodules true &&
10097
git fetch >../actual.out 2>../actual.err
101-
)
102-
'
103-
104-
test_expect_success C_LOCALE_OUTPUT "using fetchRecurseSubmodules=true in .gitmodules recurses into submodules" '
105-
test_cmp expect.out actual.out &&
106-
test_cmp expect.err actual.err
98+
) &&
99+
test_i18ncmp expect.out actual.out &&
100+
test_i18ncmp expect.err actual.err
107101
'
108102

109103
test_expect_success "--no-recurse-submodules overrides .gitmodules config" '
@@ -132,12 +126,9 @@ test_expect_success "--recurse-submodules overrides fetchRecurseSubmodules setti
132126
git fetch --recurse-submodules >../actual.out 2>../actual.err &&
133127
git config --unset -f .gitmodules submodule.submodule.fetchRecurseSubmodules &&
134128
git config --unset submodule.submodule.fetchRecurseSubmodules
135-
)
136-
'
137-
138-
test_expect_success C_LOCALE_OUTPUT "--recurse-submodules overrides fetchRecurseSubmodules setting from .git/config: output" '
139-
test_cmp expect.out actual.out &&
140-
test_cmp expect.err actual.err
129+
) &&
130+
test_i18ncmp expect.out actual.out &&
131+
test_i18ncmp expect.err actual.err
141132
'
142133

143134
test_expect_success "--quiet propagates to submodules" '
@@ -154,24 +145,18 @@ test_expect_success "--dry-run propagates to submodules" '
154145
(
155146
cd downstream &&
156147
git fetch --recurse-submodules --dry-run >../actual.out 2>../actual.err
157-
)
158-
'
159-
160-
test_expect_success C_LOCALE_OUTPUT "--dry-run propagates to submodules: output" '
161-
test_cmp expect.out actual.out &&
162-
test_cmp expect.err actual.err
148+
) &&
149+
test_i18ncmp expect.out actual.out &&
150+
test_i18ncmp expect.err actual.err
163151
'
164152

165153
test_expect_success "Without --dry-run propagates to submodules" '
166154
(
167155
cd downstream &&
168156
git fetch --recurse-submodules >../actual.out 2>../actual.err
169-
)
170-
'
171-
172-
test_expect_success C_LOCALE_OUTPUT "Without --dry-run propagates to submodules: output" '
173-
test_cmp expect.out actual.out &&
174-
test_cmp expect.err actual.err
157+
) &&
158+
test_i18ncmp expect.out actual.out &&
159+
test_i18ncmp expect.err actual.err
175160
'
176161

177162
test_expect_success "recurseSubmodules=true propagates into submodules" '
@@ -180,12 +165,9 @@ test_expect_success "recurseSubmodules=true propagates into submodules" '
180165
cd downstream &&
181166
git config fetch.recurseSubmodules true
182167
git fetch >../actual.out 2>../actual.err
183-
)
184-
'
185-
186-
test_expect_success C_LOCALE_OUTPUT "recurseSubmodules=true propagates into submodules: output" '
187-
test_cmp expect.out actual.out &&
188-
test_cmp expect.err actual.err
168+
) &&
169+
test_i18ncmp expect.out actual.out &&
170+
test_i18ncmp expect.err actual.err
189171
'
190172

191173
test_expect_success "--recurse-submodules overrides config in submodule" '
@@ -197,12 +179,9 @@ test_expect_success "--recurse-submodules overrides config in submodule" '
197179
git config fetch.recurseSubmodules false
198180
) &&
199181
git fetch --recurse-submodules >../actual.out 2>../actual.err
200-
)
201-
'
202-
203-
test_expect_success C_LOCALE_OUTPUT "--recurse-submodules overrides config in submodule: output" '
204-
test_cmp expect.out actual.out &&
205-
test_cmp expect.err actual.err
182+
) &&
183+
test_i18ncmp expect.out actual.out &&
184+
test_i18ncmp expect.err actual.err
206185
'
207186

208187
test_expect_success "--no-recurse-submodules overrides config setting" '
@@ -243,8 +222,8 @@ test_expect_success "Recursion stops when no new submodule commits are fetched"
243222
cd downstream &&
244223
git fetch >../actual.out 2>../actual.err
245224
) &&
246-
test_cmp expect.err.sub actual.err &&
247-
test_cmp expect.out.sub actual.out
225+
test_i18ncmp expect.err.sub actual.err &&
226+
test_i18ncmp expect.out.sub actual.out
248227
'
249228

250229
test_expect_success "Recursion doesn't happen when new superproject commits don't change any submodules" '
@@ -261,7 +240,7 @@ test_expect_success "Recursion doesn't happen when new superproject commits don'
261240
git fetch >../actual.out 2>../actual.err
262241
) &&
263242
! test -s actual.out &&
264-
test_cmp expect.err.file actual.err
243+
test_i18ncmp expect.err.file actual.err
265244
'
266245

267246
test_expect_success "Recursion picks up config in submodule" '
@@ -289,8 +268,8 @@ test_expect_success "Recursion picks up config in submodule" '
289268
git config --unset fetch.recurseSubmodules
290269
)
291270
) &&
292-
test_cmp expect.err.sub actual.err &&
293-
test_cmp expect.out actual.out
271+
test_i18ncmp expect.err.sub actual.err &&
272+
test_i18ncmp expect.out actual.out
294273
'
295274

296275
test_expect_success "Recursion picks up all submodules when necessary" '
@@ -321,8 +300,8 @@ test_expect_success "Recursion picks up all submodules when necessary" '
321300
cd downstream &&
322301
git fetch >../actual.out 2>../actual.err
323302
) &&
324-
test_cmp expect.err.2 actual.err &&
325-
test_cmp expect.out actual.out
303+
test_i18ncmp expect.err.2 actual.err &&
304+
test_i18ncmp expect.out actual.out
326305
'
327306

328307
test_expect_success "'--recurse-submodules=on-demand' doesn't recurse when no new commits are fetched in the superproject (and ignores config)" '
@@ -375,8 +354,8 @@ test_expect_success "'--recurse-submodules=on-demand' recurses as deep as necess
375354
git config --unset -f .gitmodules submodule.deepsubmodule.fetchRecursive
376355
)
377356
) &&
378-
test_cmp expect.out actual.out &&
379-
test_cmp expect.err actual.err
357+
test_i18ncmp expect.out actual.out &&
358+
test_i18ncmp expect.err actual.err
380359
'
381360

382361
test_expect_success "'--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config)" '
@@ -393,7 +372,7 @@ test_expect_success "'--recurse-submodules=on-demand' stops when no new submodul
393372
git fetch --recurse-submodules=on-demand >../actual.out 2>../actual.err
394373
) &&
395374
! test -s actual.out &&
396-
test_cmp expect.err.file actual.err
375+
test_i18ncmp expect.err.file actual.err
397376
'
398377

399378
test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config" '
@@ -420,8 +399,8 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
420399
cd downstream &&
421400
git config --unset fetch.recurseSubmodules
422401
) &&
423-
test_cmp expect.out.sub actual.out &&
424-
test_cmp expect.err.2 actual.err
402+
test_i18ncmp expect.out.sub actual.out &&
403+
test_i18ncmp expect.err.2 actual.err
425404
'
426405

427406
test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules" '
@@ -448,8 +427,8 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
448427
cd downstream &&
449428
git config --unset submodule.submodule.fetchRecurseSubmodules
450429
) &&
451-
test_cmp expect.out.sub actual.out &&
452-
test_cmp expect.err.2 actual.err
430+
test_i18ncmp expect.out.sub actual.out &&
431+
test_i18ncmp expect.err.2 actual.err
453432
'
454433

455434
test_expect_success "don't fetch submodule when newly recorded commits are already present" '
@@ -468,7 +447,7 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
468447
git fetch >../actual.out 2>../actual.err
469448
) &&
470449
! test -s actual.out &&
471-
test_cmp expect.err actual.err
450+
test_i18ncmp expect.err actual.err
472451
'
473452

474453
test_done

t/test-lib.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,14 @@ else
10771077
test_set_prereq C_LOCALE_OUTPUT
10781078
fi
10791079

1080+
# Use this instead of test_cmp to compare files that contain expected and
1081+
# actual output from git commands that can be translated. When running
1082+
# under GETTEXT_POISON this pretends that the command produced expected
1083+
# results.
1084+
test_i18ncmp () {
1085+
test -n "$GETTEXT_POISON" || test_cmp "$@"
1086+
}
1087+
10801088
# test whether the filesystem supports symbolic links
10811089
ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
10821090
rm -f y

0 commit comments

Comments
 (0)