r8348: switch selftest to use the new provision script
[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 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 mkdir -p $PREFIX || exit $?
21 OLD_PWD=`pwd`
22 cd $PREFIX || exit $?
23 PREFIX_ABS=`pwd`
24 export PREFIX_ABS
25 cd $OLD_PWD
26
27 TMPDIR=$PREFIX_ABS/tmp
28 LIBDIR=$PREFIX_ABS/lib
29 PIDDIR=$PREFIX_ABS/pid
30 CONFFILE=$LIBDIR/smb.conf
31 PRIVATEDIR=$PREFIX_ABS/private
32 NCALRPCDIR=$PREFIX_ABS/ncalrpc
33 LOCKDIR=$PREFIX_ABS/lockdir
34 TLSDIR=$PRIVATEDIR/tls
35 CONFIGURATION="--configfile=$CONFFILE"
36 export CONFIGURATION
37
38 SMBD_TEST_FIFO="$PREFIX/smbd_test.fifo"
39 export SMBD_TEST_FIFO
40 SMBD_TEST_LOG="$PREFIX/smbd_test.log"
41 export SMBD_TEST_LOG
42
43 DO_SOCKET_WRAPPER=$2
44 if [ x"$DO_SOCKET_WRAPPER" = x"SOCKET_WRAPPER" ];then
45         SOCKET_WRAPPER_DIR="$PREFIX/socket_wrapper_dir"
46         export SOCKET_WRAPPER_DIR
47         echo "SOCKET_WRAPPER_DIR=$SOCKET_WRAPPER_DIR"
48 fi
49
50 # start off with 0 failures
51 failed=0
52 export failed
53
54 incdir=`dirname $0`
55 . $incdir/test_functions.sh
56
57 PATH=bin:$PATH
58 export PATH
59
60 rm -rf $PREFIX/*
61 mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $TLSDIR
62 ./setup/provision $CONFIGURATION --quiet --domain $DOMAIN --realm $REALM \
63     --adminpass $PASSWORD --root=$ROOT
64
65 cat >$CONFFILE<<EOF
66 [global]
67         netbios name = LOCALHOST
68         workgroup = $DOMAIN
69         realm = $REALM
70         private dir = $PRIVATEDIR
71         pid directory = $PIDDIR
72         ncalrpc dir = $NCALRPCDIR
73         lock dir = $LOCKDIR
74         js include = $SRCDIR/scripting/libjs
75         name resolve order = bcast
76         interfaces = lo*
77
78 [tmp]
79         path = $TMPDIR
80         read only = no
81         ntvfs handler = posix
82         posix:sharedelay = 100000
83         posix:eadb = $LOCKDIR/eadb.tdb
84
85 [cifs]
86         read only = no
87         ntvfs handler = cifs
88         cifs:server = localhost
89         cifs:user = $USERNAME
90         cifs:password = $PASSWORD
91         cifs:domain = $DOMAIN
92         cifs:share = tmp
93 EOF
94
95 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
96         CONFIGURATION="$CONFIGURATION --option=\"torture:progress=no\""
97 fi
98
99 smbd_check_or_start
100
101 # ensure any one smbtorture call doesn't run too long
102 TORTURE_OPTIONS="--maximum-runtime=300 $CONFIGURATION"
103 export TORTURE_OPTIONS
104
105
106 START=`date`
107 (
108  # give time for nbt server to register its names
109  echo delaying for nbt name registration
110  sleep 4
111  bin/nmblookup -U localhost localhost 
112
113  failed=0
114  $SRCDIR/script/tests/test_ejs.sh localhost $USERNAME $PASSWORD || failed=`expr $failed + $?`
115  $SRCDIR/script/tests/test_ldap.sh localhost $USERNAME $PASSWORD || failed=`expr $failed + $?`
116  $SRCDIR/script/tests/test_quick.sh //localhost/cifs $USERNAME $PASSWORD "" || failed=`expr $failed + $?`
117  $SRCDIR/script/tests/test_rpc.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
118  $SRCDIR/script/tests/test_session_key.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
119  $SRCDIR/script/tests/test_binding_string.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
120  $SRCDIR/script/tests/test_echo.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
121  $SRCDIR/script/tests/test_posix.sh //localhost/tmp $USERNAME $PASSWORD "" || failed=`expr $failed + $?`
122  $SRCDIR/script/tests/test_local.sh || failed=`expr $failed + $?`
123  exit $failed
124 ) 9>$SMBD_TEST_FIFO
125 failed=$?
126
127 END=`date`
128 echo "START: $START ($0)";
129 echo "END:   $END ($0)";
130
131 teststatus $0 $failed