summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/init.cfg4
-rw-r--r--tests/init.sh4
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