Simplify scripts/cross-test-ssh.sh configuration.
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
With modern ssh clients and daemons it is required to use AcceptEnv and
SendEnv configuration options to correctly support testing the DSO sort
ordering tests. This requirement is present because
scripts/dso-ordering-test.py injects GLIBC_TUNABLES to the left of the
${test_wrapper_env} and so it must both be sent by the ssh client and
accepted by the ssh daemon. This requirement is removed in this change
and the injected GLIBC_TUNABLES is placed after ${run_program_env} and
so still correctly provides the override that the test requires.
This is similar to existing tests like elf/tst-pathopt.sh,
elf/tst-rtld-load-self.sh, and locale/tst-locale-locpath.sh.
Tested that it fixes two failures when cross-testing on aarch64 with
scripts/cross-test-ssh.sh and an ssh client and daemon that do not pass
GLIBC_TUNABLES. Without this fix such a configuration will report the
following failures (since the GLIBC_TUNABLES not preserved):
FAIL: elf/tst-bz15311
FAIL: elf/tst-bz28937
Tested without regression on native x86_64 and aarch64 builds.
---
scripts/dso-ordering-test.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
* Carlos O'Donell:
> With modern ssh clients and daemons it is required to use AcceptEnv and
> SendEnv configuration options to correctly support testing the DSO sort
> ordering tests. This requirement is present because
> scripts/dso-ordering-test.py injects GLIBC_TUNABLES to the left of the
> ${test_wrapper_env} and so it must both be sent by the ssh client and
> accepted by the ssh daemon. This requirement is removed in this change
> and the injected GLIBC_TUNABLES is placed after ${run_program_env} and
> so still correctly provides the override that the test requires.
> This is similar to existing tests like elf/tst-pathopt.sh,
> elf/tst-rtld-load-self.sh, and locale/tst-locale-locpath.sh.
>
> Tested that it fixes two failures when cross-testing on aarch64 with
> scripts/cross-test-ssh.sh and an ssh client and daemon that do not pass
> GLIBC_TUNABLES. Without this fix such a configuration will report the
> following failures (since the GLIBC_TUNABLES not preserved):
> FAIL: elf/tst-bz15311
> FAIL: elf/tst-bz28937
Nice explanation in the commit message. Looks okay to me.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Thanks,
Florian
On 12/22/22 02:15, Florian Weimer wrote:
> * Carlos O'Donell:
>
>> With modern ssh clients and daemons it is required to use AcceptEnv and
>> SendEnv configuration options to correctly support testing the DSO sort
>> ordering tests. This requirement is present because
>> scripts/dso-ordering-test.py injects GLIBC_TUNABLES to the left of the
>> ${test_wrapper_env} and so it must both be sent by the ssh client and
>> accepted by the ssh daemon. This requirement is removed in this change
>> and the injected GLIBC_TUNABLES is placed after ${run_program_env} and
>> so still correctly provides the override that the test requires.
>> This is similar to existing tests like elf/tst-pathopt.sh,
>> elf/tst-rtld-load-self.sh, and locale/tst-locale-locpath.sh.
>>
>> Tested that it fixes two failures when cross-testing on aarch64 with
>> scripts/cross-test-ssh.sh and an ssh client and daemon that do not pass
>> GLIBC_TUNABLES. Without this fix such a configuration will report the
>> following failures (since the GLIBC_TUNABLES not preserved):
>> FAIL: elf/tst-bz15311
>> FAIL: elf/tst-bz28937
>
> Nice explanation in the commit message. Looks okay to me.
>
> Reviewed-by: Florian Weimer <fweimer@redhat.com>
Thanks. Pushed.
@@ -745,7 +745,7 @@ def process_testcase(t):
if tunable_env else "")
# Write out fragment of shell script for this single test.
test_descr.sh.write \
- ("%s${test_wrapper_env} ${run_program_env} \\\n"
+ ("${test_wrapper_env} ${run_program_env} %s\\\n"
"${common_objpfx}support/test-run-command \\\n"
"${common_objpfx}elf/ld.so \\\n"
"--library-path ${common_objpfx}elf/%s:"