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

Re: [PATCH v2 18/22] tests: use test_i18n* functions to suppress false positives

From
Junio C Hamano <gitster@pobox.com>
Date
May 27, 2016, 19:51 UTC
Message-ID
<xmqq37p3qnyt.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<5748A13A.6070608@sapo.pt>
Vasco Almeida <vascomalmeida@sapo.pt> writes:
Show 31 quoted lines
> Às 17:08 de 27-05-2016, Junio C Hamano escreveu:
>> Vasco Almeida <vascomalmeida@sapo.pt> writes:
>> 
>>> diff --git a/t/t1307-config-blob.sh b/t/t1307-config-blob.sh
>>> index 3c6791e..4079fef 100755
>>> --- a/t/t1307-config-blob.sh
>>> +++ b/t/t1307-config-blob.sh
>>> @@ -64,7 +64,7 @@ test_expect_success 'parse errors in blobs are properly attributed' '
>>>  
>>>  	# just grep for our token as the exact error message is likely to
>>>  	# change or be internationalized
>>> -	grep "HEAD:config" err
>>> +	test_i18ngrep "HEAD:config" err
>>>  '
>> 
>> It is unfortunate that the gettext-poison mechanism is too dumb to
>> notice that it is clobbering a format string with placeholders and
>> leave them intact, which is what the comment above this change is
>> wishing for.  I do not think we will be granting that wish any time
>> soon, so perhaps remove the two lines while we are at it?
>> 
> Yes, that was more or less what I thought when read that comment, but
> forgot about it after.
> I'll remove that comment in the next re-roll. Also, because it can be
> deceiving for someone not entirely sure how does gettext poison,
> translations and tests work together when test are run.
>
> For the record, test are run under C locale, so translations don't
> matter in tests. Under GETTEXT_POISON build, all strings interpolated by
> gettext (for instance _("a message from git") in C language) are
> replaced by garbage string "# GETTEXT POISON #".

Yes, for the record (as I know you know I know you know this), if we ever granted the wish the comment expressed, we do not have to use test_i18ngrep but instead can use grep, following the reasoning in the comment "Even when running under poison locale, we must have HEAD:config in the output".

It is unfortunate that poison locale is not that smart. If it were, we can lose a lot of test_i18ngrep, not only from here.

Previous: Vasco AlmeidaNext: Vasco Almeida
Message 31 of 38 in “i18n and test updates”
  1. 00/22 i18n and test updatesVasco Almeida, May 23, 2016
  2. 01/22 i18n: builtin/remote.c: fix mark for translationVasco Almeida, May 23, 2016
  3. 02/22 i18n: advice: mark string about detached head for translationVasco Almeida, May 23, 2016
  4. Vasco AlmeidaMay 30, 2016
  5. 03/22 i18n: advice: internationalize message for conflictsVasco Almeida, May 23, 2016
  6. 04/22 i18n: transport: mark strings for translationVasco Almeida, May 23, 2016
  7. 05/22 i18n: sequencer: mark entire sentences for translationVasco Almeida, May 23, 2016
  8. 06/22 i18n: sequencer: mark string for translationVasco Almeida, May 23, 2016
  9. 07/22 i18n: merge-octopus: mark messages for translationVasco Almeida, May 23, 2016
  10. 08/22 merge-octupus: use die shell function from git-sh-setup.shVasco Almeida, May 23, 2016
  11. 09/22 i18n: rebase: fix marked string to use eval_gettext variantVasco Almeida, May 23, 2016
  12. 10/22 i18n: rebase: mark placeholder for translationVasco Almeida, May 23, 2016
  13. 11/22 i18n: bisect: simplify error message for i18nVasco Almeida, May 23, 2016
  14. 12/22 t6030: update to use test_i18ncmpVasco Almeida, May 23, 2016
  15. 13/22 i18n: git-sh-setup.sh: mark strings for translationVasco Almeida, May 23, 2016
  16. Junio C HamanoMay 26, 2016
  17. Vasco AlmeidaMay 27, 2016
  18. 14/22 i18n: rebase-interactive: mark strings for translationVasco Almeida, May 23, 2016
  19. Junio C HamanoMay 26, 2016
  20. Vasco AlmeidaMay 27, 2016
  21. Junio C HamanoMay 27, 2016
  22. 15/22 i18n: rebase-interactive: mark here-doc strings for translationVasco Almeida, May 23, 2016
  23. Vasco AlmeidaMay 25, 2016
  24. 16/22 i18n: rebase-interactive: mark comments of squash for translationVasco Almeida, May 23, 2016
  25. Junio C HamanoMay 26, 2016
  26. Vasco AlmeidaMay 27, 2016
  27. 17/22 i18n: setup: mark strings for translationVasco Almeida, May 23, 2016
  28. 18/22 tests: use test_i18n* functions to suppress false positivesVasco Almeida, May 23, 2016
  29. Junio C HamanoMay 27, 2016
  30. Vasco AlmeidaMay 27, 2016
  31. Junio C HamanoMay 27, 2016
  32. 19/22 tests: unpack-trees: update to use test_i18n* functionsVasco Almeida, May 23, 2016
  33. 20/22 t9003: become resilient to GETTEXT_POISONVasco Almeida, May 23, 2016
  34. 21/22 t4153: fix negated test_i18ngrep callVasco Almeida, May 23, 2016
  35. 22/22 t5523: use test_i18ngrep for negationVasco Almeida, May 23, 2016
  36. Junio C HamanoMay 27, 2016
  37. Vasco AlmeidaMay 28, 2016
  38. Junio C HamanoMay 30, 2016

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.