#!/bin/sh # Yes, that's POSIX sh, not bash! tmpnam=`mktemp` conffile=${tmpnam}.conf pidfile=${tmpnam}.pid ulimit -c unlimited # Create a one-meg device dd if=/dev/zero of=$tmpnam bs=1024 count=4096 >/dev/null 2>&1 echo $1 case $1 in */cmd) # Test with export specified on command line ./nbd-server -C /dev/null -p ${pidfile} 11111 $tmpnam & # -p only works if nbd-server wasn't compiled with -DNOFORK or # -DNODAEMON, which I sometimes do for testing and debugging. PID=$! sleep 1 ./nbd-tester-client 127.0.0.1 11111 retval=$? ;; */cfgsize) # Test oversized requests ./nbd-server -C /dev/null -p ${pidfile} 11111 $tmpnam & # -p only works if nbd-server wasn't compiled with -DNOFORK or # -DNODAEMON, which I sometimes do for testing and debugging. PID=$! sleep 1 ./nbd-tester-client 127.0.0.1 11111 -o retval=$? ;; */cfg1) # Test with export specified in config file cat > ${conffile} <${conffile} <${conffile} <${conffile} <${conffile} <${conffile} </dev/null 2>&1 ./nbd-server -C ${conffile} -p ${pidfile} & PID=$! sleep 1 ./nbd-tester-client localhost -N export1 -i retval=$? ;; *) echo "E: unknown test $1" exit 1 ;; esac if [ -f ${pidfile} ] then kill `cat ${pidfile}` rm -f ${pidfile} else kill $PID fi if [ -z "$2" ] then rm -f $tmpnam ${conffile} fi if [ $retval -ne 0 ] then exit $retval fi