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 <junkio@twinsun.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
4050c0df8e
commit
8d69195124
@ -7,8 +7,9 @@
|
|||||||
# an old counterpart
|
# an old counterpart
|
||||||
|
|
||||||
cd $(dirname $0) || exit 1
|
cd $(dirname $0) || exit 1
|
||||||
|
: ${SHELL_PATH=/bin/sh}
|
||||||
|
|
||||||
tmp=$(mktemp /tmp/tmp-XXXXXXXX)
|
tmp=`pwd`/.tmp$$
|
||||||
|
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
@ -25,13 +26,17 @@ for i in $list; do
|
|||||||
both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";;
|
both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";;
|
||||||
esac
|
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"
|
echo "Testing with $pgm"
|
||||||
sed -e "s/git-fetch-pack/$replace/g" \
|
sed -e "s/git-fetch-pack/$replace/g" \
|
||||||
-e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp
|
-e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp
|
||||||
|
|
||||||
sh $tmp || retval=$?
|
"$SHELL_PATH" "$tmp" || retval=$?
|
||||||
rm $tmp
|
rm -f "$tmp"
|
||||||
|
|
||||||
test $retval != 0 && exit $retval
|
test $retval != 0 && exit $retval
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user