Re: [PATCH] config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 25, 2021, 01:13 UTC
- Message-ID
- <87ft0kox24.fsf@evledraar.gmail.com>
- In-Reply-To
- <YFvbE1K2tZ5ych7z@coredump.intra.peff.net>
On Thu, Mar 25 2021, Jeff King wrote:
Show 62 quoted lines
> On Thu, Mar 25, 2021 at 12:36:09AM +0100, Ævar Arnfjörð Bjarmason wrote:
>
>> Remove a use of GIT_TEST_GETTEXT_POISON added in f276e2a4694 (config:
>> improve error message for boolean config, 2021-02-11).
>>
>> This was simultaneously in-flight with my d162b25f956 (tests: remove
>> support for GIT_TEST_GETTEXT_POISON, 2021-01-20) which removed the
>> rest of the GIT_TEST_GETTEXT_POISON code.
>
> Yay. :)
>
>> diff --git a/config.c b/config.c
>> index 6428393a414..870d9534def 100644
>> --- a/config.c
>> +++ b/config.c
>> @@ -1180,20 +1180,6 @@ static void die_bad_number(const char *name, const char *value)
>> }
>> }
>>
>> -NORETURN
>> -static void die_bad_bool(const char *name, const char *value)
>> -{
>> - if (!strcmp(name, "GIT_TEST_GETTEXT_POISON"))
>> - /*
>> - * We explicitly *don't* use _() here since it would
>> - * cause an infinite loop with _() needing to call
>> - * use_gettext_poison().
>> - */
>> - die("bad boolean config value '%s' for '%s'", value, name);
>> - else
>> - die(_("bad boolean config value '%s' for '%s'"), value, name);
>> -}
>> -
>> int git_config_int(const char *name, const char *value)
>> {
>> int ret;
>> @@ -1268,7 +1254,7 @@ int git_config_bool(const char *name, const char *value)
>> {
>> int v = git_parse_maybe_bool(value);
>> if (v < 0)
>> - die_bad_bool(name, value);
>> + die(_("bad boolean config value '%s' for '%s'"), value, name);
>> return v;
>> }
>
> This code change looks good, but...
>
>> diff --git a/t/t1300-config.sh b/t/t1300-config.sh
>> index e0dd5d65ced..2280c2504ac 100755
>> --- a/t/t1300-config.sh
>> +++ b/t/t1300-config.sh
>> @@ -679,7 +679,7 @@ test_expect_success 'invalid unit boolean' '
>> git config commit.gpgsign "1true" &&
>> test_cmp_config 1true commit.gpgsign &&
>> test_must_fail git config --bool --get commit.gpgsign 2>actual &&
>> - test_i18ngrep "bad boolean config value .1true. for .commit.gpgsign." actual
>> + grep "bad boolean config value .1true. for .commit.gpgsign." actual
>> '
>
> why are we losing test_i18ngrep here? The message is still marked for
> translation. I know we've discussed dropping all of the test_i18n
> helpers, but that seems unrelated to the rest of the patch.For new tests we're suggesting not to use it, so while I'm holding off on some general s/test_i18ngrep/grep/ refactoring, it seemed natural to adjust the test added by the commit whose code I'm modifying.
It also shows reviewers that there is such a test, so e.g. I didn't invert the name/value parameters or something in refactoring this.