diff options
-rw-r--r-- | source3/script/tests/functions | 38 | ||||
-rw-r--r-- | source3/script/tests/runtests.sh | 37 | ||||
-rw-r--r-- | source3/script/tests/t_001.sh | 22 |
3 files changed, 76 insertions, 21 deletions
diff --git a/source3/script/tests/functions b/source3/script/tests/functions index 0969c98724..4cc8d4a2c0 100644 --- a/source3/script/tests/functions +++ b/source3/script/tests/functions @@ -2,3 +2,41 @@ ## library file for test functions ## +## +## start/stop smbd daemon +## +check_smbd_running() +{ + ## the smbcontrol ping will return a 0 on success + smbcontrol $CONFIGURATION smbd ping 2>&1 > /dev/null +} + +start_smbd() +{ + echo "Starting smbd...." + + smbd $CONFIGURATION || return $? + + sleep 1 + + smbcontrol $CONFIGURATION `cat $PIDDIR/smbd.pid` ping 2>&1 > /dev/null || return $? +} + +stop_smbd() +{ + smbd_pid=`cat $PIDDIR/smbd.pid` + echo "Shutting down smbd (pid $smbd_pid)..." + + ## belt and braces; first kill and then send a shutdown message + + kill -TERM $smbd_pid + smbcontrol $CONFIGURATION smbd shutdown + + ## check to see if smbd is already running + check_smbd_running + if test $? == 0; then + echo "Unable to stop smbd!" + exit 2 + fi +} + diff --git a/source3/script/tests/runtests.sh b/source3/script/tests/runtests.sh index 6ee6d3a32b..e8594f5199 100644 --- a/source3/script/tests/runtests.sh +++ b/source3/script/tests/runtests.sh @@ -19,8 +19,6 @@ cd $OLD_PWD ## setup the various environment variables we need ## -DOMAIN=SAMBA-TEST - SRCDIR=`pwd` SCRIPTDIR=$SRCDIR/script/tests TMPDIR=$PREFIX_ABS/tmp @@ -32,16 +30,43 @@ LOCKDIR=$PREFIX_ABS/lockdir LOGDIR=$PREFIX_ABS/logs SOCKET_WRAPPER_DIR=$PREFIX_ABS/sockwrap CONFIGURATION="-s $CONFFILE" - PATH=`pwd`/bin:$PATH -rm -rf $PREFIX/* -mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $LOCKDIR $TMPDIR $LOGDIR $SOCKET_WRAPPER_DIR - export PREFIX_ABS CONFIGURATION CONFFILE PATH SOCKET_WRAPPER_DIR DOMAIN export PRIVATEDIR LIBDIR PIDDIR LOCKDIR TMPDIR LOGDIR export SRCDIR SCRIPTDIR +## +## create the test directory layout +## + +/bin/rm -rf $PREFIX/* +mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $LOCKDIR $TMPDIR $LOGDIR $SOCKET_WRAPPER_DIR + +## +## Create the common config include file with the basic settings +## + +cat >$LIBDIR/common.conf<<EOF + netbios name = LOCALHOST + workgroup = SAMBA-TEST + + private dir = $PRIVATEDIR + pid directory = $PIDDIR + lock directory = $LOCKDIR + log file = $LOGDIR/log.%m + log level = 0 + + interfaces = lo + bind interfaces only = yes + + panic action = $PREFIX_ABS/script/tests/gdb_backtrace /proc/%d/exe %d +EOF + +## +## ready to go...now loop through the tests +## + for testfile in `ls $SCRIPTDIR/t_*sh | sort`; do echo ">>>>>> Starting test driver `basename $testfile` <<<<<" sh $testfile diff --git a/source3/script/tests/t_001.sh b/source3/script/tests/t_001.sh index 86837050c7..f9f530c974 100644 --- a/source3/script/tests/t_001.sh +++ b/source3/script/tests/t_001.sh @@ -4,27 +4,19 @@ cat >$CONFFILE<<EOF [global] - netbios name = LOCALHOST - workgroup = $DOMAIN - - private dir = $PRIVATEDIR - pid directory = $PIDDIR - lock directory = $LOCKDIR - log file = $LOGDIR/log.%m - - interfaces = lo - bind interfaces only = yes - - panic action = $PREFIX_ABS/script/tests/gdb_backtrace /proc/%d/exe %d + include = $LIBDIR/common.conf [test] path = $TMPDIR read only = no EOF +## +## Test code +## + +start_smbd || exit $? -smbd $CONFIGURATION || exit $? -sleep 1 smbclient $CONFIGURATION -L localhost -N -p 139 -killall smbd +stop_smbd |