diff options
author | Jim Meyering <meyering@redhat.com> | 2010-11-06 15:20:06 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2010-11-06 15:24:53 +0100 |
commit | 6c058b2dabe2e577d56e8c2c82cec550ff82f085 (patch) | |
tree | 7c2b1f036027addde33ec24c44c471c4f3332a87 /tests | |
parent | 3261914da1dc13165738dcfb77c12dad7b57690f (diff) | |
download | coreutils-6c058b2dabe2e577d56e8c2c82cec550ff82f085.tar.xz |
tests: avoid failure due to bug in FreeBSD 8.1's /bin/sh
* tests/init.sh: Arrange not to accept FreeBSD 8.1's /bin/sh, since
it fails this test: /bin/sh -c 'f(){ local s=$IFS; test -n "$s"; }; f'
* tests/init.cfg (sanitize_path_): Stop-gap measure to work around
a bug in FreeBSD 8.1's /bin/sh. We'll un-do this change once all
300+ tests use init.sh.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/init.cfg | 4 | ||||
-rw-r--r-- | tests/init.sh | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/init.cfg b/tests/init.cfg index 1048cf39d..778625702 100644 --- a/tests/init.cfg +++ b/tests/init.cfg @@ -12,7 +12,9 @@ stderr_fileno_=9 # Avoid the problem by rewriting PATH to exclude unsearchable directories. sanitize_path_() { - local saved_IFS=$IFS + # FIXME: remove double quotes around $IFS when all tests use init.sh. + # They constitute a work-around for a bug in FreeBSD 8.1's /bin/sh. + local saved_IFS="$IFS" IFS=: set -- $PATH IFS=$saved_IFS diff --git a/tests/init.sh b/tests/init.sh index a57de77a2..0193cbec1 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -93,6 +93,9 @@ else fi # We require $(...) support unconditionally. +# We also require "local" support. The local-vs-IFS test is required to +# eliminate FreeBSD 8.1's /bin/sh, which would otherwise pass these tests +# and provoke opaque test failures in coreutils. # We require a few additional shell features only when $EXEEXT is nonempty, # in order to support automatic $EXEEXT emulation: # - hyphen-containing alias names @@ -115,6 +118,7 @@ fi # ? - not ok gl_shell_test_script_=' test $(echo y) = y || exit 1 +gl_local_test_(){ local s=$IFS; test -n "$s"; }; gl_local_test_ || exit 1 score_=10 if test "$VERBOSE" = yes; then test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 |