From 8d69195124c826756c025fc84d993d92ff119075 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 5 Dec 2005 18:13:31 -0800 Subject: [PATCH] Fix 5501 test Not everybody can rely on /bin/sh to be sane, and we support SHELL_PATH for that. Use it. mktemp(1) is not used anywhere else in the core git. Do not introduce dependency on it. Not everybody's "which" gives a sane return value. For example, on Solaris 'which XXX' says "no XXX in /usr/bin /bin ..." and exits with zero status. The lesson here is to never use 'which' in your scripts. Signed-off-by: Junio C Hamano Signed-off-by: Junio C Hamano --- t/t5501-old-fetch-and-upload.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/t/t5501-old-fetch-and-upload.sh b/t/t5501-old-fetch-and-upload.sh index ada513032..596c88b1c 100755 --- a/t/t5501-old-fetch-and-upload.sh +++ b/t/t5501-old-fetch-and-upload.sh @@ -7,8 +7,9 @@ # an old counterpart cd $(dirname $0) || exit 1 +: ${SHELL_PATH=/bin/sh} -tmp=$(mktemp /tmp/tmp-XXXXXXXX) +tmp=`pwd`/.tmp$$ retval=0 @@ -25,13 +26,17 @@ for i in $list; do both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";; esac - if which $pgm 2>/dev/null; then + if where=`LANG=C LC_ALL=C which "$pgm" 2>/dev/null` && + case "$where" in + "no "*) (exit 1) ;; + esac + then echo "Testing with $pgm" sed -e "s/git-fetch-pack/$replace/g" \ -e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp - sh $tmp || retval=$? - rm $tmp + "$SHELL_PATH" "$tmp" || retval=$? + rm -f "$tmp" test $retval != 0 && exit $retval else -- 2.30.2