Skip to content

Commit 2e87fca

Browse files
committed
test framework: further deprecate test_i18ngrep
As an attempt to come up with a useful mechanism to ensure that certain messages are left untranslated [*], we earlier wrote GIT_TEST_GETTEXT_POISON off as a failed experiment. But the output from the test helper was easier to use while debugging failed tests, compared to the same test writtein with the plain-vanilla "grep". Especially when a test that expects a certain string to appear in the output (e.g. "this test must fail with this message") fails, "grep message output" would just silently fail and in a &&-chained sequence of commands, it is hard to tell which step failed. test_i18ngrep explicitly said "we wanted to see a line that match this pattern but did not see a hit in this file". What we have as test_i18ngrep in our tree still retains this verbose output (even though we got rid of the "poison" support). Let's rename it to test_grep (because it is no longer about i18n at all) and then make test_i18ngrep a thin wrapper around it. Existing callers of test_i18ngrep can be mechanically rewritten to instead use test_grep over time, but it does not have to be done in this commit. [Footnote] * The idea was that human-facing messages are often translated, but there are messages that should never be translated. We use "grep" only for the latter kind of messages, and then run tests in "poison" mode that spew garbage for translatable messages. If such a test run fails, it means these messages tested with "grep" were marked for translation by mistake. test_i18ngrep was to be used for other messages that are to be translated, and was to always "succeed" when runing under the "poison" mode. Signed-off-by: Junio C Hamano <[email protected]>
1 parent 43c8a30 commit 2e87fca

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

t/test-lib-functions.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,14 +1208,16 @@ test_cmp_bin () {
12081208
cmp "$@"
12091209
}
12101210

1211-
# Wrapper for grep which used to be used for
1212-
# GIT_TEST_GETTEXT_POISON=false. Only here as a shim for other
1213-
# in-flight changes. Should not be used and will be removed soon.
1211+
# Deprecated - do not use this in new code
12141212
test_i18ngrep () {
1213+
test_grep "$@"
1214+
}
1215+
1216+
test_grep () {
12151217
eval "last_arg=\${$#}"
12161218

12171219
test -f "$last_arg" ||
1218-
BUG "test_i18ngrep requires a file to read as the last parameter"
1220+
BUG "test_grep requires a file to read as the last parameter"
12191221

12201222
if test $# -lt 2 ||
12211223
{ test "x!" = "x$1" && test $# -lt 3 ; }

0 commit comments

Comments
 (0)