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