1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-13 19:02:02 +02:00

Avoid test failure when run with risky PATH ("." before /usr/bin).

* build-aux/check.mk (approx_dirname_filter): Define.
(am__check_pre): Emulate dirname using sed.
Report and suggested fix from Bruno Haible in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12587/focus=12590
This commit is contained in:
Jim Meyering
2008-02-10 11:26:57 +01:00
parent b0823fb415
commit 48b9ff8555

View File

@@ -89,6 +89,11 @@ tput sgr0 >/dev/null 2>&1 && \
# by disabling -e (using the XSI extension "set +e") if it's set.
SH_E_WORKAROUND = case $$- in *e*) set +e;; esac
# Emulate dirname with sed.
# This approximation fails when the input is a single-component
# absolute directory name like /foo, but that never happens here.
approx_dirname_filter = sed 's,^[^/]*$$,.,;s,//*[^/]*$$,,'
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $src, and passes TESTS_ENVIRONMENT.
@@ -96,7 +101,7 @@ am__check_pre = \
$(SH_E_WORKAROUND); \
tst=`echo "$$src" | sed 's|^.*/||'`; \
rm -f $@-t; \
$(mkdir_p) "$$(dirname $@)" || exit; \
$(mkdir_p) "$$(echo '$@'|$(approx_dirname_filter))" || exit; \
if test -f "./$$src"; then dir=./; \
elif test -f "$$src"; then dir=; \
else dir="$(srcdir)/"; fi; \