diff options
author | Pádraig Brady <P@draigBrady.com> | 2016-11-22 01:23:22 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2016-11-22 20:04:25 +0000 |
commit | 055b08ff7853c7c9ab791643047b1b163a227013 (patch) | |
tree | 15d7a014a486c9c0189cef9511c7e7c7b0470620 /tests/misc | |
parent | b572a286d5d24cdb1669baa3f867317bdb534b1a (diff) | |
download | coreutils-055b08ff7853c7c9ab791643047b1b163a227013.tar.xz |
tests: fix false fails due to passing env vars to returns_
On BSD /bin/sh it was seen that unexported env vars passed to
returns_() would not be propagated to the wrapped command.
* cfg.mk (sc_prohibit_env_returns): Add a syntax check to disallow.
* tests/misc/csplit-io-err.sh: Rearrange to export vars in a subshell.
* tests/rm/rm-readdir-fail.sh: Likewise.
* tests/misc/nohup.sh: Export and unset vars around returns_.
* tests/misc/printenv.sh: Likewise.
Reported by Assaf Gordon
Diffstat (limited to 'tests/misc')
-rwxr-xr-x | tests/misc/csplit-io-err.sh | 6 | ||||
-rwxr-xr-x | tests/misc/nohup.sh | 4 | ||||
-rwxr-xr-x | tests/misc/printenv.sh | 6 |
3 files changed, 10 insertions, 6 deletions
diff --git a/tests/misc/csplit-io-err.sh b/tests/misc/csplit-io-err.sh index 982df161f..900e38bee 100755 --- a/tests/misc/csplit-io-err.sh +++ b/tests/misc/csplit-io-err.sh @@ -66,9 +66,9 @@ gcc_shared_ k.c k.so \ # Split the input, and force fwrite() failure - # the 'csplit' command should fail with exit code 1 # (checked with 'returns_ 1 ... || fail=1') -seq 10 \ - | LD_PRELOAD=$LD_PRELOAD:./k.so returns_ 1 csplit - 1 4 2>out \ - || fail=1 +seq 10 | +(export LD_PRELOAD=$LD_PRELOAD:./k.so + returns_ 1 csplit - 1 4 2>out) || fail=1 test -e preloaded || skip_ 'LD_PRELOAD interception failed' diff --git a/tests/misc/nohup.sh b/tests/misc/nohup.sh index e9c8c389a..1b43b606f 100755 --- a/tests/misc/nohup.sh +++ b/tests/misc/nohup.sh @@ -118,6 +118,8 @@ EOF # Make sure it fails with exit status of 125 when given too few arguments, # except that POSIX requires 127 in this case. returns_ 125 nohup >/dev/null 2>&1 || fail=1 -POSIXLY_CORRECT=1 returns_ 127 nohup >/dev/null 2>&1 || fail=1 +export POSIXLY_CORRECT=1 +returns_ 127 nohup >/dev/null 2>&1 || fail=1 +unset POSIXLY_CORRECT Exit $fail diff --git a/tests/misc/printenv.sh b/tests/misc/printenv.sh index 2017e5df6..b33c0292c 100755 --- a/tests/misc/printenv.sh +++ b/tests/misc/printenv.sh @@ -59,8 +59,10 @@ EOF compare exp out || fail=1 # Exit status reflects missing variable, but remaining arguments processed. -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1 -ENV_TEST1=a returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 +export ENV_TEST1=a +returns_ 1 env -- printenv ENV_TEST2 ENV_TEST1 > out || fail=1 +returns_ 1 env -- printenv ENV_TEST1 ENV_TEST2 >> out || fail=1 +unset ENV_TEST1 cat <<EOF > exp || framework_failure_ a a |