mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-04-11 14:44:18 +02:00
tests: avoid a FP on aarch64 when comparing env/printenv output
The following test fails on aarch64 on openSUSE's OpenBuildService due to glibc's execvp reversing the pointers of 'environ', i.e., the output of "env|tac" equals "env env" on that platform. * tests/misc/printenv.sh: Use 'env env' to work around the behavior on that platform. While at it, fix the grep pattern which suppressed all environment variables starting with an underscore "_" instead of "$_" (and "$LD_PRELOAD") only.
This commit is contained in:
@@ -23,8 +23,12 @@ print_ver_ printenv
|
||||
# printenv as a builtin, so we must invoke it via "env".
|
||||
# But beware of $_, set by many shells to the last command run.
|
||||
# Also, filter out LD_PRELOAD, which is set when running under valgrind.
|
||||
env | grep -Ev '^(_|LD_PRELOAD=)' > exp || framework_failure_
|
||||
env -- printenv | grep -Ev '^(_|LD_PRELOAD=)' > out || fail=1
|
||||
# Note the apparently redundant "env env": this is to ensure to get
|
||||
# env's output the same way as that of printenv and works around a bug
|
||||
# on aarch64 at least where libc's execvp reverses the order of the
|
||||
# output.
|
||||
env -- env | grep -Ev '^(_|LD_PRELOAD)=' > exp || framework_failure_
|
||||
env -- printenv | grep -Ev '^(_|LD_PRELOAD)=' > out || fail=1
|
||||
compare exp out || fail=1
|
||||
|
||||
# POSIX is clear that environ may, but need not be, sorted.
|
||||
|
||||
Reference in New Issue
Block a user