scripts/run/cthon.zsh

51 lines
1.1 KiB
Bash
Executable File

#!/bin/zsh
PROTO=(tcp)
zparseopts -D -K -server:=SERVER -export:=EXPORT -mountpoint:=MOUNTPOINT \
-user:=USER -rdma=RDMA -version+:=VERSION -mntopt+:=MOUNTOPTS \
b=TEST g=TEST s=TEST l=TEST
if [ ${#RDMA} -gt 0 ]; then
PROTO+=(rdma)
fi
exclude=(--mntopt)
MOUNTOPTS=(${(ou)MOUNTOPTS:|exclude})
function runtest
{
./server ${TEST[-1]} -o $1 -m $2 -p $3 ${SERVER[-1]} > $4 2>&1
if [ $? -ne 0 ]; then
echo ""
echo "The '${TEST[-1]}' test using '$1' options to ${SERVER[-1]}: Failed!!"
mv $4 $4-`date +"%H:%M:%S"`.error
fi
if [ $(grep -c $2 /proc/mounts) -gt 0 ]; then
sudo umount $2
fi
}
cd cthon04
for proto in $PROTO; do
for vers in $VERSION; do
[[ "$vers" == "--version" ]] && continue
dir=$(echo "nfsv${vers}${proto}" | sed 's/\.//' | sed 's/v40/v4/')
mnt=${MOUNTPOINT[-1]}/$dir
xprt=${EXPORT[-1]}/${USER[-1]}/$dir
opts="v$vers,proto=$proto"
for o in $MOUNTOPTS; do
opts="$opts,$o"
done
echo "./server ${TEST[-1]} -o $opts -m $mnt -p $xprt ${SERVER[-1]}"
runtest $opts $mnt $xprt /tmp/nfsv${vers}${proto} &
done
done
echo -n "Waiting for '${TEST[-1]}' to finish ... "
wait
echo -n "Done: "
date +"%X"