X-Git-Url: http://git.alex.org.uk diff --git a/simple_test b/simple_test index 4b6b521..1ccf84b 100755 --- a/simple_test +++ b/simple_test @@ -1,72 +1,151 @@ #!/bin/sh # Yes, that's POSIX sh, not bash! -tmpnam=`mktemp` +tmpdir=`mktemp -d` +conffile=${tmpdir}/nbd.conf +pidfile=${tmpdir}/nbd.pid +tmpnam=${tmpdir}/nbd.dd + +ulimit -c unlimited # Create a one-meg device -dd if=/dev/zero of=$tmpnam bs=1024 count=1024 +dd if=/dev/zero of=$tmpnam bs=1024 count=4096 >/dev/null 2>&1 echo $1 case $1 in - ./cmd) + */cmd) # Test with export specified on command line - ./nbd-server -C /dev/null -p `pwd`/nbd-server.pid 11111 $tmpnam & + ./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 localhost 11111 + ./nbd-tester-client 127.0.0.1 11111 retval=$? ;; - - ./cfg1) + */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 > nbd-server.conf < ${conffile} <nbd-server.conf <${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 -t $(dirname $1)/integrity-test.tr retval=$? ;; *) @@ -74,15 +153,17 @@ EOF exit 1 ;; esac -if [ -f nbd-server.pid ] +if [ -f ${pidfile} ] then - kill `cat nbd-server.pid` - rm -f nbd-server.pid + kill `cat ${pidfile}` else kill $PID fi +if [ -z "$2" ] +then + rm -rf $tmpdir +fi if [ $retval -ne 0 ] then exit $retval fi -rm -f $tmpnam nbd-server.conf