r8298: - started building a library of js routines in scripting/libjs/
[ira/wip.git] / source / 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 rm -rf $PREFIX/*
58 mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $TLSDIR
59 ./setup/provision.pl --quiet --outputdir $PRIVATEDIR --domain $DOMAIN --realm $REALM \
60     --adminpass $PASSWORD --root=$ROOT
61
62 cat >$CONFFILE<<EOF
63 [global]
64         netbios name = LOCALHOST
65         workgroup = $DOMAIN
66         realm = $REALM
67         private dir = $PRIVATEDIR
68         pid directory = $PIDDIR
69         ncalrpc dir = $NCALRPCDIR
70         lock dir = $LOCKDIR
71         js include = $LIBDIR/js
72         name resolve order = bcast
73         interfaces = lo*
74
75 [tmp]
76         path = $TMPDIR
77         read only = no
78         ntvfs handler = posix
79         posix:sharedelay = 100000
80         posix:eadb = $LOCKDIR/eadb.tdb
81
82 [cifs]
83         read only = no
84         ntvfs handler = cifs
85         cifs:server = localhost
86         cifs:user = $USERNAME
87         cifs:password = $PASSWORD
88         cifs:domain = $DOMAIN
89         cifs:share = tmp
90 EOF
91
92 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
93         CONFIGURATION="$CONFIGURATION --option=\"torture:progress=no\""
94 fi
95
96 smbd_check_or_start
97
98 # ensure any one smbtorture call doesn't run too long
99 TORTURE_OPTIONS="--maximum-runtime=300 $CONFIGURATION"
100 export TORTURE_OPTIONS
101
102
103 START=`date`
104 (
105  # give time for nbt server to register its names
106  echo delaying for nbt name registration
107  sleep 4
108  bin/nmblookup -U localhost localhost 
109
110  failed=0
111  $SRCDIR/script/tests/test_ejs.sh localhost $USERNAME $PASSWORD || failed=`expr $failed + $?`
112  $SRCDIR/script/tests/test_ldap.sh localhost $USERNAME $PASSWORD || failed=`expr $failed + $?`
113  $SRCDIR/script/tests/test_quick.sh //localhost/cifs $USERNAME $PASSWORD "" || failed=`expr $failed + $?`
114  $SRCDIR/script/tests/test_rpc.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
115  $SRCDIR/script/tests/test_session_key.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
116  $SRCDIR/script/tests/test_binding_string.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
117  $SRCDIR/script/tests/test_echo.sh localhost $USERNAME $PASSWORD $DOMAIN || failed=`expr $failed + $?`
118  $SRCDIR/script/tests/test_posix.sh //localhost/tmp $USERNAME $PASSWORD "" || failed=`expr $failed + $?`
119  $SRCDIR/script/tests/test_local.sh || failed=`expr $failed + $?`
120  exit $failed
121 ) 9>$SMBD_TEST_FIFO
122 failed=$?
123
124 END=`date`
125 echo "START: $START ($0)";
126 echo "END:   $END ($0)";
127
128 teststatus $0 $failed