: #!/bin/sh # # @(#)server 1.2 97/01/03 Connectathon testsuite # 1.1 Lachman ONC Test Suite source # # run tests given a server name. mounts, tests, and unmounts # arguments: # -a|-b|-g|-s|-l test selectors, passed to runtests # -f|-t|-n test arguments, passed to runtests # mnt_options arg to -o mount options # server_path path to mount from server # mntpoint path to mount on locally # server_name server to mount from # Program=`basename $0` InitFile="./tests.init" USAGE="usage: $Program [-a|-b|-g|-s|-l] [-f|-t|-n|-h] [-o mnt_options] [-p server_path] [-m mntpoint] server_name" # defaults . $InitFile export PATH CFLAGS LIBS MOUNT UMOUNT set - `getopt abfglhm:no:p:st $*` if [ $? != 0 ] then echo $USAGE exit 1 fi for c in $* do case $c in -a|-b|-g|-s|-l) TEST=$c; shift ;; -f|-n|-t) TESTARG=$c; shift ;; -h) HARDLINKS=n; export HARDLINKS; shift ;; -m) MNTPOINT=$2; shift; shift ;; -o) MNTOPTIONS=$2; shift; shift ;; -p) SERVPATH=$2; shift; shift ;; --) shift; break ;; esac done if test $# -gt 0 then SERVER=$1 shift if test $# -gt 0 then echo $USAGE exit 1 fi fi # if no server specified, exit if test x$SERVER = x then echo $USAGE exit 1 fi # make sure nothing is mounted on the mountpoint eval $UMOUNTCMD > /dev/null 2>&1 eval $MOUNTCMD case $? in 0) ;; *) echo "Can't mount $SERVER:$SERVPATH on $MNTPOINT" exit 1 ;; esac # mount doesn't always return error code if it fails, so lets # ask here just in case HOSTNAME=`/usr/bsd/hostname` HOSTNAME=`expr $HOSTNAME : '\([^.]*\)'` NFSTESTDIR=$MNTPOINT/$HOSTNAME.test export NFSTESTDIR echo $DASHN "Start tests on path $NFSTESTDIR [y/n]?" "$BLC" read ans case $ans in Y*|y*) ;; *) echo "Terminating ($MNTPOINT not unmounted)." exit 1 ;; esac echo "" echo "sh ./runtests $TEST $TESTARG $NFSTESTDIR" sh ./runtests $TEST $TESTARG $NFSTESTDIR if [ $? -ne 0 ] then echo leaving $MNTPOINT mounted exit 1 fi eval $UMOUNTCMD exit 0