Subject: Re: [PATCH] t/lib-httpd: pass LANG to Apache

From: Junio C Hamano <[email-masked]>
Date: Wed, 05 Oct 2022 12:50:53 -0700

René Scharfe <[email-masked]> writes:

> t5411 starts a web server with no explicit language setting, so it uses
> the system default.  Ten of its tests expect it to return error messages
> containing the prefix "fatal: ", emitted by die().  This prefix can be
> localized since a1fd2cf8cd (i18n: mark message helpers prefix for
> translation, 2022-06-21), however.  As a result these ten tests break
> for me on a system with LANG="de_DE.UTF-8" because the web server sends
> localized messages with "Schwerwiegend: " instead of "fatal: ".
>
> Fix these tests by passing LANG to the web server, which is set to "C"
> by t/test-lib.sh, to get untranslated messages on both sides.

It is a good thing to do, but we seem to be extra conservative and
set both LC_ALL=C LANG=C (presumably by following the habit acquired
back when locale support were being introduced to various systems
with different degree, which way predates Git itself) and export
them in the main part of the test framework.

Shouldn't we be doing the same here?

> Signed-off-by: René Scharfe <[email-masked]>
> ---
>  t/lib-httpd/apache.conf | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
> index 497b9b9d92..1e2295a7cb 100644
> --- a/t/lib-httpd/apache.conf
> +++ b/t/lib-httpd/apache.conf
> @@ -80,6 +80,7 @@ PassEnv LSAN_OPTIONS
>  PassEnv GIT_TRACE
>  PassEnv GIT_CONFIG_NOSYSTEM
>  PassEnv GIT_TEST_SIDEBAND_ALL
> +PassEnv LANG
>
>  Alias /dumb/ www/
>  Alias /auth/dumb/ www/auth/dumb/
> --
> 2.37.3