r265: Check whether the program runs with a config file rather than stuff on the...
[nbd.git] / simple_test
1 #!/bin/sh
2 # Yes, that's POSIX sh, not bash!
3
4 tmpnam=`mktemp`
5
6 # Create a one-meg device
7 dd if=/dev/zero of=$tmpnam bs=1024 count=1024
8
9 ./nbd-server -C /dev/null -p `pwd`/nbd-server.pid 11111 $tmpnam &
10 # -p only works if nbd-server wasn't compiled with -DNOFORK or -DNODAEMON,
11 # which I sometimes do for testing and debugging.
12 PID=$!
13 sleep 1
14 ./nbd-tester-client localhost 11111
15 retval=$?
16 if [ -f nbd-server.pid ]
17 then
18         kill `cat nbd-server.pid`
19 else
20         kill $PID
21 fi
22 rm -f nbd-server.pid
23 if [ $retval -ne 0 ]
24 then
25         rm -f $tmpnam
26         exit $retval
27 fi
28 cat > nbd-server.conf <<EOF
29 [generic]
30 [export]
31         exportname = `pwd`/$tmpnam
32         port = 11111
33 EOF
34 ./nbd-server -C nbd-server.conf -p `pwd`/nbd-server.pid &
35 PID=$!
36 sleep 1
37 ./nbd-tester-client localhost 11111
38 retval=$?
39 rm -f nbd-server.pid
40 rm -f nbd-server.conf
41 rm -f $tmpnam
42 exit $retval