This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix locale/tst-locale-locpath cross-testing when sshd sets LANG


On 1/23/20 4:45 PM, Joseph Myers wrote:
> The locale/tst-locale-locpath test unsets LANG, then runs a test with
> test_wrapper_env and expects LANG to remain unset for that test.  This
> does not work for cross-testing with cross-test-ssh.sh when sshd (on
> the system specified as an argument to cross-test-ssh.sh) is
> configured to have a default LANG setting.

Agreed.

> The general design used in cross testing, after commit
> 8540f6d2a74fe9d67440535ebbcfa252180a3172 ("Don't require test wrappers
> to preserve environment variables, use more consistent environment.",
> 6 June 2014), is that environment settings required by tests should be
> passed explicitly to $(test-wrapper-env).  This patch changes
> tst-locale-locpath.sh to pass an explicit LANG= rather than expecting
> "unset LANG" to be in effect for the program run under
> test_wrapper_env.  Note that this does slightly change the environment
> in which the test is run natively (empty LANG instead of unset LANG)
> but that difference does not appear relevant to what it is trying to
> test.

Agreed, that way LANG is set in the ssh shell.

> Tested for Arm that this fixes the failure seen for that test in
> cross-testing.

OK for master if Siddhesh agrees.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> diff --git a/locale/tst-locale-locpath.sh b/locale/tst-locale-locpath.sh
> index bafdf91e20..f37d452723 100644
> --- a/locale/tst-locale-locpath.sh
> +++ b/locale/tst-locale-locpath.sh
> @@ -34,10 +34,8 @@ trap cleanup 0
>  rm -rf "$testroot"
>  mkdir -p $testroot
>  
> -unset LANG
> -

OK.

>  ${test_wrapper_env} \
> -${run_program_env} LC_ALL=invalid-locale LOCPATH=does-not-exist \
> +${run_program_env} LANG= LC_ALL=invalid-locale LOCPATH=does-not-exist \

OK. LANG is set to empty consistently in the invocation under test_wrapper_env.

>  ${common_objpfx}elf/ld.so --library-path "$LIBPATH" \
>    "${common_objpfx}locale/locale" \
>    > "$testroot/stdout" 2> "$testroot/stderr"
> 


-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]