git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 1/7] i18n: mark init-db messages for translation

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 12, 2011, 23:04 UTC
Message-ID
<7v1v17nk9z.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7v62qjnkpe.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 8 quoted lines
> +# Use this instead of "grep expected-string actual" to see if the
> +# output from a git command that acn be translated contains an
> +# expected string.  When running under GETTEXT_POISON this pretends
> +# that the command produced expected results.
> +test_i18ngrep () {
> +	test -n "$GETTEXT_POISON" || grep "$@"
> +}
> +
I spoke too early.

The common pattern is either to ensure that the actual output has an expected string, of to ensure that the actual output does not have an unwanted string. So this has to be something like:

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 3e7c2bb..874bcc5 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1085,6 +1085,23 @@ test_i18ncmp () {
 	test -n "$GETTEXT_POISON" || test_cmp "$@"
 }
 
+# Use this instead of "grep expected-string actual" to see if the
+# output from a git command that can be translated contains (or does
+# not contain) an expected string.  When running under GETTEXT_POISON
+# this pretends that the command produced expected results.
+test_i18ngrep () {
+	if test -n "$GETTEXT_POISON"
+	then
+	    : # pretend success
+	elif test "x!" = "x$1"
+	then
+	    	shift
+		! grep "$@"
+	else
+	    	grep "$@"
+	fi
+}
+
 # test whether the filesystem supports symbolic links
 ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
 rm -f y
diff --git a/t/t2019-checkout-ambiguous-ref.sh b/t/t2019-checkout-ambiguous-ref.sh
index cc34e55..30c2225 100755
--- a/t/t2019-checkout-ambiguous-ref.sh
+++ b/t/t2019-checkout-ambiguous-ref.sh
@@ -29,9 +29,9 @@ test_expect_success 'checkout chooses branch over tag' '
 	test_cmp expect file
 '
 
-test_expect_success C_LOCALE_OUTPUT 'checkout reports switch to branch' '
-	grep "Switched to branch" stderr &&
-	! grep "^HEAD is now at" stderr
+test_expect_success 'checkout reports switch to branch' '
+	test_i18ngrep "Switched to branch" stderr &&
+	test_i18ngrep ! "^HEAD is now at" stderr
 '
 
 test_expect_success 'checkout vague ref succeeds' '
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 21 in “i18n: mark missing C messages”
  1. 0/7 i18n: mark missing C messagesÆvar Arnfjörð Bjarmason, Apr 10, 2011
  2. 1/7 i18n: mark init-db messages for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  3. Junio C HamanoApr 12, 2011
  4. Junio C HamanoApr 12, 2011
  5. Ævar Arnfjörð BjarmasonApr 12, 2011
  6. Junio C HamanoApr 12, 2011
  7. Junio C HamanoApr 12, 2011
  8. Junio C HamanoApr 12, 2011
  9. i18n: use test_i18n{grep,cmp} in t7508Junio C Hamano, Apr 14, 2011
  10. 2/7 i18n: mark merge "Could not read from" message for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  11. 3/7 i18n: mark merge "upstream" messages for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  12. 4/7 i18n: mark merge CHERRY_PICK_HEAD messages for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  13. 5/7 i18n: mark clone nonexistent repository message for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  14. 6/7 i18n: mark checkout --detach messages for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  15. 7/7 i18n: mark checkout plural warning for translationÆvar Arnfjörð Bjarmason, Apr 10, 2011
  16. Junio C HamanoApr 12, 2011
  17. Ævar Arnfjörð BjarmasonApr 12, 2011
  18. Junio C HamanoApr 12, 2011
  19. Ævar Arnfjörð BjarmasonApr 13, 2011
  20. Junio C HamanoApr 13, 2011
  21. Junio C HamanoApr 12, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.