r265: Check whether the program runs with a config file rather than stuff on the...
[nbd.git] / simple_test
index 318385e..b19e968 100755 (executable)
@@ -4,12 +4,39 @@
 tmpnam=`mktemp`
 
 # Create a one-meg device
-dd if=/dev/zero -C /dev/null of=$tmpnam bs=1024 count=1024
+dd if=/dev/zero of=$tmpnam bs=1024 count=1024
 
-./nbd-server -p ./nbd-server.pid 11111 $tmpnam &
+./nbd-server -C /dev/null -p `pwd`/nbd-server.pid 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
 retval=$?
-kill `cat nbd-server.pid`
+if [ -f nbd-server.pid ]
+then
+       kill `cat nbd-server.pid`
+else
+       kill $PID
+fi
 rm -f nbd-server.pid
+if [ $retval -ne 0 ]
+then
+       rm -f $tmpnam
+       exit $retval
+fi
+cat > nbd-server.conf <<EOF
+[generic]
+[export]
+       exportname = `pwd`/$tmpnam
+       port = 11111
+EOF
+./nbd-server -C nbd-server.conf -p `pwd`/nbd-server.pid &
+PID=$!
+sleep 1
+./nbd-tester-client localhost 11111
+retval=$?
+rm -f nbd-server.pid
+rm -f nbd-server.conf
+rm -f $tmpnam
 exit $retval