r7495: used --maximum-runtime=300 for each smbtorture call, to prevent it
[garming/samba-autobuild/.git] / source4 / script / tests / selftest.sh
1 #!/bin/sh
2 DOMAIN=SAMBADOMAIN
3 USERNAME=administrator
4 REALM=$DOMAIN
5 PASSWORD=penguin
6 SRCDIR=`pwd`
7
8 if [ $# -lt 1 ]
9 then
10         echo "$0 PREFIX"
11         exit
12 fi
13
14 PREFIX=$1
15 export PREFIX
16 TMPDIR=$PREFIX/tmp
17 LIBDIR=$PREFIX/lib
18 PIDDIR=$PREFIX/pid
19 CONFFILE=$LIBDIR/smb.conf
20 PRIVATEDIR=$PREFIX/private
21 NCALRPCDIR=$PREFIX/ncalrpc
22 LOCKDIR=$PREFIX/lockdir
23
24 SMBD_TEST_FIFO="$PREFIX/smbd_test.fifo"
25 export SMBD_TEST_FIFO
26 SMBD_TEST_LOG="$PREFIX/smbd_test.log"
27 export SMBD_TEST_LOG
28
29 DO_SOCKET_WRAPPER=$2
30 if [ x"$DO_SOCKET_WRAPPER" = x"SOCKET_WRAPPER" ];then
31         SOCKET_WRAPPER_DIR="$PREFIX/socket_wrapper_dir"
32         export SOCKET_WRAPPER_DIR
33         echo "SOCKET_WRAPPER_DIR=$SOCKET_WRAPPER_DIR"
34 fi
35
36 incdir=`dirname $0`
37 . $incdir/test_functions.sh
38
39 rm -rf $PREFIX/*
40 mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR
41 ./setup/provision.pl --quiet --outputdir $PRIVATEDIR --domain $DOMAIN --realm $REALM --adminpass $PASSWORD
42
43 cat >$CONFFILE<<EOF
44 [global]
45         netbios name = LOCALHOST
46         workgroup = $DOMAIN
47         realm = $REALM
48         private dir = $PRIVATEDIR
49         pid directory = $PIDDIR
50         ncalrpc dir = $NCALRPCDIR
51         lock dir = $LOCKDIR
52         sam database = tdb://$PRIVATEDIR/sam.ldb
53         name resolve order = bcast
54         interfaces = lo
55
56 [tmp]
57         path = $TMPDIR
58         read only = no
59         ntvfs handler = posix
60         posix:sharedelay = 100000
61         posix:eadb = $LOCKDIR/eadb.tdb
62 EOF
63
64 ADDARG="-s $CONFFILE"
65 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
66         ADDARG="$ADDARG --option=\"torture:progress=no\""
67 fi
68
69 smbd_check_or_start
70
71 # ensure any one smbtorture call doesn't run too long
72 TORTURE_OPTIONS="--maximum-runtime=300"
73 export TORTURE_OPTIONS
74
75
76 START=`date`
77 (
78  # give time for nbt server to register its names
79  echo delaying for nbt name registration
80  sleep 4
81
82  failed=0
83  $SRCDIR/script/tests/test_rpc.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
84  $SRCDIR/script/tests/test_binding_string.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
85  $SRCDIR/script/tests/test_echo.sh localhost $USERNAME $PASSWORD $DOMAIN $ADDARG || failed=`expr $failed + $?`
86  $SRCDIR/script/tests/test_posix.sh //localhost/tmp $USERNAME $PASSWORD "" $ADDARG || failed=`expr $failed + $?`
87  $SRCDIR/script/tests/test_local.sh $ADDARG || failed=`expr $failed + $?`
88  exit $failed
89 ) 9>$SMBD_TEST_FIFO
90 failed=$?
91
92 END=`date`
93 echo "START: $START ($0)";
94 echo "END:   $END ($0)";
95
96 teststatus $0 $failed