Simplify scripts/cross-test-ssh.sh configuration.
authorCarlos O'Donell <carlos@redhat.com>
Wed, 21 Dec 2022 22:21:05 +0000 (17:21 -0500)
committerCarlos O'Donell <carlos@redhat.com>
Thu, 22 Dec 2022 16:08:59 +0000 (11:08 -0500)
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.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
scripts/dso-ordering-test.py

index b87cf2f..7c29c21 100644 (file)
@@ -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:"