17:facad31ec0dc
Anton Shestakov <engored@ya.ru>, Sat, 29 Nov 2014 12:56:58 +0800
find-closest: searching for a thing in parent dirs, a la jQuery.closest

find-closest/test.sh

Permissions: -rwxr-xr-x

Other formats: Feeds:
#!/bin/bash
function do_test {
RESULT=$($1) # get the result and also warm cache
TIME=$( {
time for r in `seq 1 100` ; do
$1 > /dev/null 2>&1
done;
} 2>&1 | gawk 'match($0, /^real\t([0-9]+)m([0-9.]+)s$/, m) {printf "%.3f", m[1] * 60 + m[2]}' )
if [[ $RESULT == $CHECK ]] ; then
echo -n 'ok '
else
echo -n 'fail '
fi
echo -en "$TIME\t "
}
HERE=$PWD
pushd "$PWD" > /dev/null
TESTROOT=$(mktemp -d)
cd "$TESTROOT"
CHECK=''
echo 'not tracked'
echo -e 'builtins \t dirname \t upsearch'
for depth in `seq 1 10` ; do
cd "$(mktemp -dp.)"
#do_test "$HERE/hgroot_0.sh"
do_test "$HERE/hgroot_1.sh"
do_test "$HERE/hgroot_2.sh"
do_test "$HERE/hgroot_3.sh"
echo
done
cd "$TESTROOT"
mkdir '.hg'
CHECK=$TESTROOT
echo 'tracked in mercurial'
echo -e 'builtins \t dirname \t upsearch'
for depth in `seq 1 10` ; do
cd "$(mktemp -dp.)"
#do_test "$HERE/hgroot_0.sh"
do_test "$HERE/hgroot_1.sh"
do_test "$HERE/hgroot_2.sh"
do_test "$HERE/hgroot_3.sh"
echo
done
popd > /dev/null
rm -r "$TESTROOT"