1
0
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:
Bernhard Voelker
2015-02-03 01:52:04 +01:00
parent b3ecf3b1b2
commit bfb4f5c8b7

View File

@@ -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.