summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2008-11-11 18:46:21 -0800
committerTim Prouty <tprouty@samba.org>2008-11-11 19:06:50 -0800
commite6f8fd994567f85efd88b56e438816ee337f4f6e (patch)
tree1c0bb4b09144f3e49a16b58181041e160d408dfb
parentc62427c7fc7fd9c2c33faa25e931d4583bea905a (diff)
downloadsamba-e6f8fd994567f85efd88b56e438816ee337f4f6e.tar.gz
samba-e6f8fd994567f85efd88b56e438816ee337f4f6e.tar.xz
samba-e6f8fd994567f85efd88b56e438816ee337f4f6e.zip
s3: Add support for make test to use a share dir outside of the prefix dir
Some systems need to have the tdbs (and other files required for samba to run) on a different filesystem than the share directory that samba is exporting. This patch: - Adds an optional "shrdir" argument to selftest.sh - If shrdir is specified it will be used, otherwise the default will be used: "<prefix>/tmp" - Adds a new configure option: --with-selftest-shrdir - Plumbs shrdir through Makefile.in and configure.in
-rw-r--r--source3/Makefile.in3
-rw-r--r--source3/m4/check_path.m416
-rwxr-xr-xsource3/script/tests/selftest.sh28
3 files changed, 39 insertions, 8 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index c048e193a61..6e40ba404a1 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -17,6 +17,7 @@ localstatedir=@localstatedir@
datarootdir=@datarootdir@
selftest_prefix=@selftest_prefix@
+selftest_shrdir=@selftest_shrdir@
smbtorture4_path=@smbtorture4_path@
LIBS=@LIBS@
@@ -2846,7 +2847,7 @@ test_pam_modules:: pam_modules
##
test:: all torture timelimit
@echo Running Test suite
- @LIB_PATH_VAR=$(LIB_PATH_VAR) PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}"
+ @LIB_PATH_VAR=$(LIB_PATH_VAR) PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}" ${selftest_shrdir}
valgrindtest:: all torture timelimit
@echo Running Test suite with valgrind
diff --git a/source3/m4/check_path.m4 b/source3/m4/check_path.m4
index 9c994680849..0cff397c93b 100644
--- a/source3/m4/check_path.m4
+++ b/source3/m4/check_path.m4
@@ -276,6 +276,22 @@ AC_ARG_WITH(selftest-prefix,
])
#################################################
+# set shrdir for 'make test'
+selftest_shrdir=""
+AC_SUBST(selftest_shrdir)
+AC_ARG_WITH(selftest-shrdir,
+[AS_HELP_STRING([--with-selftest-shrdir=DIR], [The share directory that make test will be run against ($selftest_shrdir)])],
+[ case "$withval" in
+ yes|no)
+ AC_MSG_WARN([--with-selftest-shrdir called without argument - will use default])
+ ;;
+ * )
+ selftest_shrdir="$withval"
+ ;;
+ esac
+])
+
+#################################################
# set path of samba4's smbtorture
smbtorture4_path=""
AC_SUBST(smbtorture4_path)
diff --git a/source3/script/tests/selftest.sh b/source3/script/tests/selftest.sh
index 0894b2507dc..d41d0f36cf0 100755
--- a/source3/script/tests/selftest.sh
+++ b/source3/script/tests/selftest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
-if [ $# != 3 ]; then
- echo "$0 <directory> <all | quick> <smbtorture4>"
+if [ $# != 3 -a $# != 4 ]; then
+ echo "$0 <directory> <all | quick> <smbtorture4> [<shrdir>]"
exit 1
fi
@@ -38,7 +38,6 @@ PASSWORD=test
SRCDIR="`dirname $0`/../.."
BINDIR="`pwd`/bin"
SCRIPTDIR=$SRCDIR/script/tests
-SHRDIR=$PREFIX_ABS/tmp
LIBDIR=$PREFIX_ABS/lib
PIDDIR=$PREFIX_ABS/pid
CONFFILE=$LIBDIR/client.conf
@@ -113,8 +112,23 @@ mkdir -p $PRIVATEDIR $LIBDIR $PIDDIR $LOCKDIR $LOGDIR
mkdir -p $SOCKET_WRAPPER_DIR
mkdir -p $WINBINDD_SOCKET_DIR
chmod 755 $WINBINDD_SOCKET_DIR
-mkdir -p $PREFIX_ABS/tmp
-chmod 777 $PREFIX_ABS/tmp
+
+##
+## Create an alternate shrdir if one was specified.
+##
+if [ $# = 4 ]; then
+ ALT_SHRDIR=`echo $4 | sed s+//+/+`
+ mkdir -p $ALT_SHRDIR || exit $?
+ OLD_PWD=`pwd`
+ cd $ALT_SHRDIR || exit $?
+ SHRDIR=`pwd`
+ cd $OLD_PWD
+ /bin/rm -rf $SHRDIR/*
+else
+ SHRDIR=$PREFIX_ABS/tmp
+ mkdir -p $SHRDIR
+fi
+chmod 777 $SHRDIR
##
## Create the common config include file with the basic settings
@@ -184,7 +198,7 @@ cat >$SERVERCONFFILE<<EOF
# min receivefile size = 4000
[tmp]
- path = $PREFIX_ABS/tmp
+ path = $SHRDIR
read only = no
smbd:sharedelay = 100000
smbd:writetimeupdatedelay = 500000
@@ -262,7 +276,7 @@ export SOCKET_WRAPPER_DEFAULT_IFACE
TORTURE4_OPTIONS="$SAMBA4CONFIGURATION"
TORTURE4_OPTIONS="$TORTURE4_OPTIONS --maximum-runtime=$TORTURE_MAXTIME"
TORTURE4_OPTIONS="$TORTURE4_OPTIONS --target=samba3"
-TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:localdir=$PREFIX_ABS/tmp"
+TORTURE4_OPTIONS="$TORTURE4_OPTIONS --option=torture:localdir=$SHRDIR"
export TORTURE4_OPTIONS
if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then