diff --git a/source/script/tests/mktestsetup.sh b/source/script/tests/mktestsetup.sh new file mode 100755 index 00000000000..104eaea85e8 --- /dev/null +++ b/source/script/tests/mktestsetup.sh @@ -0,0 +1,136 @@ +#!/bin/sh + +if [ $# -lt 1 ] +then + echo "$0 PREFIX" + exit 1 +fi + +PREFIX=$1 + +if test -z "$TLS_ENABLED"; then + TLS_ENABLED=false +fi + +DOMAIN=SAMBADOMAIN +USERNAME=administrator +REALM=SAMBA.EXAMPLE.COM +PASSWORD=penguin +SRCDIR=`pwd` +ROOT=$USER +SERVER=localhost +NETBIOSNAME=localtest +if test -z "$ROOT"; then + ROOT=$LOGNAME +fi +if test -z "$ROOT"; then + ROOT=`whoami` +fi + +oldpwd=`pwd` +srcdir=`dirname $0`/../.. +mkdir -p $PREFIX || exit $? +cd $PREFIX +PREFIX_ABS=`pwd` +export PREFIX_ABS +cd $oldpwd + +TEST_DATA_PREFIX=$PREFIX_ABS +export TEST_DATA_PREFIX + +TMPDIR=$PREFIX_ABS/tmp +ETCDIR=$PREFIX_ABS/etc +PIDDIR=$PREFIX_ABS/pid +CONFFILE=$ETCDIR/smb.conf +KRB5_CONFIG=$ETCDIR/krb5.conf +PRIVATEDIR=$PREFIX_ABS/private +NCALRPCDIR=$PREFIX_ABS/ncalrpc +LOCKDIR=$PREFIX_ABS/lockdir +TLSDIR=$PRIVATEDIR/tls +WINBINDD_SOCKET_DIR=$PREFIX_ABS/winbind_socket +CONFIGURATION="--configfile=$CONFFILE" +export CONFIGURATION +export CONFFILE + +SMBD_TEST_FIFO="$PREFIX/smbd_test.fifo" +export SMBD_TEST_FIFO +SMBD_TEST_LOG="$PREFIX/smbd_test.log" +export SMBD_TEST_LOG + +rm -rf $PREFIX/* +mkdir -p $PRIVATEDIR $ETCDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $TLSDIR + +cat >$CONFFILE<$KRB5_CONFIG<$PRIVATEDIR/wins_config.ldif</dev/null || exit 1 diff --git a/source/script/tests/selftest.sh b/source/script/tests/selftest.sh index 1440cf6ea0e..7c4747b4d15 100755 --- a/source/script/tests/selftest.sh +++ b/source/script/tests/selftest.sh @@ -1,21 +1,6 @@ #!/bin/sh # Bootstrap Samba and run a number of tests against it. -DOMAIN=SAMBADOMAIN -USERNAME=administrator -REALM=SAMBA.EXAMPLE.COM -PASSWORD=penguin -SRCDIR=`pwd` -ROOT=$USER -SERVER=localhost -NETBIOSNAME=localtest -if test -z "$ROOT"; then - ROOT=$LOGNAME -fi -if test -z "$ROOT"; then - ROOT=`whoami` -fi - if [ $# -lt 1 ] then echo "$0 PREFIX" @@ -26,7 +11,7 @@ if [ -z "$TORTURE_MAXTIME" ]; then TORTURE_MAXTIME=300 fi - +OLD_PWD=`pwd` PREFIX=$1 PREFIX=`echo $PREFIX | sed s+//+/+` export PREFIX @@ -39,39 +24,18 @@ if [ $TESTS = "all" ]; then else TLS_ENABLED="no" fi - -mkdir -p $PREFIX || exit $? -OLD_PWD=`pwd` -cd $PREFIX || exit $? -PREFIX_ABS=`pwd` -export PREFIX_ABS -cd $OLD_PWD - -TEST_DATA_PREFIX=$PREFIX_ABS -export TEST_DATA_PREFIX +export TLS_ENABLED LD_LIBRARY_PATH=$OLD_PWD/bin:$LD_LIBRARY_PATH export LD_LIBRARY_PATH -TMPDIR=$PREFIX_ABS/tmp -LIBDIR=$PREFIX_ABS/lib -ETCDIR=$PREFIX_ABS/etc -PIDDIR=$PREFIX_ABS/pid -CONFFILE=$ETCDIR/smb.conf -KRB5_CONFIG=$ETCDIR/krb5.conf -PRIVATEDIR=$PREFIX_ABS/private -NCALRPCDIR=$PREFIX_ABS/ncalrpc -LOCKDIR=$PREFIX_ABS/lockdir -TLSDIR=$PRIVATEDIR/tls -WINBINDD_SOCKET_DIR=$PREFIX_ABS/winbind_socket -CONFIGURATION="--configfile=$CONFFILE" -export CONFIGURATION -export CONFFILE +incdir=`dirname $0` +echo -n "PROVISIONING..." +. $incdir/mktestsetup.sh $PREFIX || exit 1 +echo "DONE" -SMBD_TEST_FIFO="$PREFIX/smbd_test.fifo" -export SMBD_TEST_FIFO -SMBD_TEST_LOG="$PREFIX/smbd_test.log" -export SMBD_TEST_LOG +PATH=bin:$PATH +export PATH DO_SOCKET_WRAPPER=$3 if [ x"$DO_SOCKET_WRAPPER" = x"SOCKET_WRAPPER" ];then @@ -80,115 +44,27 @@ if [ x"$DO_SOCKET_WRAPPER" = x"SOCKET_WRAPPER" ];then echo "SOCKET_WRAPPER_DIR=$SOCKET_WRAPPER_DIR" fi -# start off with 0 failures -failed=0 -export failed - incdir=`dirname $0` . $incdir/test_functions.sh -PATH=bin:$PATH -export PATH - -rm -rf $PREFIX/* -mkdir -p $PRIVATEDIR $ETCDIR $LIBDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $TLSDIR - -cat >$PRIVATEDIR/wins_config.ldif<$CONFFILE<$KRB5_CONFIG</dev/null || exit 1 - -echo "DONE" - -if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then - CONFIGURATION="$CONFIGURATION --option=torture:progress=no" -fi - SOCKET_WRAPPER_DEFAULT_IFACE=1 export SOCKET_WRAPPER_DEFAULT_IFACE smbd_check_or_start -# ensure any one smbtorture call doesn't run too long SOCKET_WRAPPER_DEFAULT_IFACE=26 export SOCKET_WRAPPER_DEFAULT_IFACE TORTURE_INTERFACES='127.0.0.26/8,127.0.0.27/8,127.0.0.28/8,127.0.0.29/8,127.0.0.30/8,127.0.0.31/8' -TORTURE_OPTIONS="--maximum-runtime=$TORTURE_MAXTIME --option=interfaces=$TORTURE_INTERFACES $CONFIGURATION" +TORTURE_OPTIONS="--option=interfaces=$TORTURE_INTERFACES $CONFIGURATION" +# ensure any one smbtorture call doesn't run too long +TORTURE_OPTIONS="$TORTURE_OPTIONS --maximum-runtime=$TORTURE_MAXTIME" export TORTURE_OPTIONS TORTURE_OPTIONS="$TORTURE_OPTIONS --option=target:samba4=yes" +if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + TORTURE_OPTIONS="$TORTURE_OPTIONS --option=torture:progress=no" +fi + START=`date` ( # give time for nbt server to register its names @@ -202,7 +78,9 @@ START=`date` bin/nmblookup $CONFIGURATION $NETBIOSNAME bin/nmblookup $CONFIGURATION -U $SERVER $NETBIOSNAME +# start off with 0 failures failed=0 + export failed . script/tests/tests_$TESTS.sh exit $failed