#!/bin/zsh zparseopts -D -K -server:=SERVER -export:=EXPORT -mountpoint:=MOUNTPOINT \ -user:=USER -proto:=PROTO -version+:=VERSION -mntopt+:=MOUNTOPTS \ b=TEST g=TEST s=TEST l=TEST 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 vers in $VERSION; do [[ "$vers" == "--version" ]] && continue dir=$(echo "nfsv${vers}${PROTO[-1]}" | sed 's/\.//' | sed 's/v40/v4/') mnt=${MOUNTPOINT[-1]}/$dir xprt=${EXPORT[-1]}/${USER[-1]}/$dir opts="v$vers,proto=${PROTO[-1]}" 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[-1]} & done echo -n "Waiting for '${TEST[-1]}' to finish ... " wait echo -n "Done: " date +"%X"