Junio C Hamano <gitster@xxxxxxxxx> writes: > Phillip Wood <phillip.wood123@xxxxxxxxx> writes: > >> It is rather unfortunate that test_i18ngrep was deprecated without >> providing an alternative that offers the same debugging >> experience. > > The primary thing test_i18ngrep did was to _SKIP_ certain test that > looked for an expected string in "C" locale from the output when the > tests were run under a tainted localization mode. The tests that > looked for strings in messages that are *not* to be localized used > "grep". Tests that (unfortunately) had to match human-readable > messages had to work around the tainted localization test to use > test_i18ngrep. > >> When test_i18ngrep fails it prints a message with the >> pattern and text that failed to match so it is easy to see where the >> test failed. If grep fails there is no output and so unless the test >> is run with "-x" it can be hard to see which command caused the test >> to fail. > > We could rename test_i18ngrep to test_grep (and make test_i18ngrep > into a thin wrapper with warnings). > > test_grep -e must-exist file && > test_grep ! -e must-not-exist file ... as the only remaining part in test_18ngrep has no hack to work around the tainted localization tests, so "was deprecated without" is a bit too strong. There is nothing we have lost yet. t/test-lib-functions.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git c/t/test-lib-functions.sh w/t/test-lib-functions.sh index 2f8868caa1..c50bc18861 100644 --- c/t/test-lib-functions.sh +++ w/t/test-lib-functions.sh @@ -1208,14 +1208,16 @@ test_cmp_bin () { cmp "$@" } -# Wrapper for grep which used to be used for -# GIT_TEST_GETTEXT_POISON=false. Only here as a shim for other -# in-flight changes. Should not be used and will be removed soon. +# Deprecated - do not use this in new code test_i18ngrep () { + test_grep "$@" +} + +test_grep () { eval "last_arg=\${$#}" test -f "$last_arg" || - BUG "test_i18ngrep requires a file to read as the last parameter" + BUG "test_grep requires a file to read as the last parameter" if test $# -lt 2 || { test "x!" = "x$1" && test $# -lt 3 ; }