@matheusbsbs / matheus-bagliano / commits / cabdee2c5e
Fork 0

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 <gitster@pobox.com>

Junio C Hamano committed Apr 12, 2011 at 11:23 UTC cabdee2c5ed55aa42784b37c1249829fca9d71b8
2 files changed +44 -57
t/t5526-fetch-submodules.sh
+36 -57
@@ -66,12 +66,9 @@ test_expect_success "fetch --recurse-submodules recurses into submodules" '
66 (
67 cd downstream &&
68 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
72 '
73
74 test_expect_success "fetch alone only fetches superproject" '
@@ -98,12 +95,9 @@ test_expect_success "using fetchRecurseSubmodules=true in .gitmodules recurses i
95 cd downstream &&
96 git config -f .gitmodules submodule.submodule.fetchRecurseSubmodules true &&
97 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
101 '
102
103 test_expect_success "--no-recurse-submodules overrides .gitmodules config" '
@@ -132,12 +126,9 @@ test_expect_success "--recurse-submodules overrides fetchRecurseSubmodules setti
126 git fetch --recurse-submodules >../actual.out 2>../actual.err &&
127 git config --unset -f .gitmodules submodule.submodule.fetchRecurseSubmodules &&
128 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
132 '
133
134 test_expect_success "--quiet propagates to submodules" '
@@ -154,24 +145,18 @@ test_expect_success "--dry-run propagates to submodules" '
145 (
146 cd downstream &&
147 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
151 '
152
153 test_expect_success "Without --dry-run propagates to submodules" '
154 (
155 cd downstream &&
156 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
160 '
161
162 test_expect_success "recurseSubmodules=true propagates into submodules" '
@@ -180,12 +165,9 @@ test_expect_success "recurseSubmodules=true propagates into submodules" '
165 cd downstream &&
166 git config fetch.recurseSubmodules true
167 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
171 '
172
173 test_expect_success "--recurse-submodules overrides config in submodule" '
@@ -197,12 +179,9 @@ test_expect_success "--recurse-submodules overrides config in submodule" '
179 git config fetch.recurseSubmodules false
180 ) &&
181 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
185 '
186
187 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"
222 cd downstream &&
223 git fetch >../actual.out 2>../actual.err
224 ) &&
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
227 '
228
229 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'
240 git fetch >../actual.out 2>../actual.err
241 ) &&
242 ! test -s actual.out &&
264 - test_cmp expect.err.file actual.err
243 + test_i18ncmp expect.err.file actual.err
244 '
245
246 test_expect_success "Recursion picks up config in submodule" '
@@ -289,8 +268,8 @@ test_expect_success "Recursion picks up config in submodule" '
268 git config --unset fetch.recurseSubmodules
269 )
270 ) &&
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
273 '
274
275 test_expect_success "Recursion picks up all submodules when necessary" '
@@ -321,8 +300,8 @@ test_expect_success "Recursion picks up all submodules when necessary" '
300 cd downstream &&
301 git fetch >../actual.out 2>../actual.err
302 ) &&
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
305 '
306
307 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
354 git config --unset -f .gitmodules submodule.deepsubmodule.fetchRecursive
355 )
356 ) &&
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
359 '
360
361 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
372 git fetch --recurse-submodules=on-demand >../actual.out 2>../actual.err
373 ) &&
374 ! test -s actual.out &&
396 - test_cmp expect.err.file actual.err
375 + test_i18ncmp expect.err.file actual.err
376 '
377
378 test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config" '
@@ -420,8 +399,8 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' overrides global config
399 cd downstream &&
400 git config --unset fetch.recurseSubmodules
401 ) &&
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
404 '
405
406 test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules" '
@@ -448,8 +427,8 @@ test_expect_success "'submodule.<sub>.fetchRecurseSubmodules=on-demand' override
427 cd downstream &&
428 git config --unset submodule.submodule.fetchRecurseSubmodules
429 ) &&
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
432 '
433
434 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
447 git fetch >../actual.out 2>../actual.err
448 ) &&
449 ! test -s actual.out &&
471 - test_cmp expect.err actual.err
450 + test_i18ncmp expect.err actual.err
451 '
452
453 test_done
t/test-lib.sh
+8
@@ -1077,6 +1077,14 @@ else
1077 test_set_prereq C_LOCALE_OUTPUT
1078 fi
1079
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 +
1088 # test whether the filesystem supports symbolic links
1089 ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
1090 rm -f y