From 48b9ff855506b544b7670bb28989622ea283b79b Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 10 Feb 2008 11:26:57 +0100 Subject: 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 --- build-aux/check.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build-aux/check.mk b/build-aux/check.mk index 34169f50d..f35007bb0 100644 --- a/build-aux/check.mk +++ b/build-aux/check.mk @@ -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; \ -- cgit v1.2.3-70-g09d2