From e6f8fd994567f85efd88b56e438816ee337f4f6e Mon Sep 17 00:00:00 2001 From: Tim Prouty Date: Tue, 11 Nov 2008 18:46:21 -0800 Subject: [PATCH] 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: "/tmp" - Adds a new configure option: --with-selftest-shrdir - Plumbs shrdir through Makefile.in and configure.in --- source3/Makefile.in | 3 ++- source3/m4/check_path.m4 | 16 ++++++++++++++++ source3/script/tests/selftest.sh | 28 +++++++++++++++++++++------- 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 @@ -275,6 +275,22 @@ AC_ARG_WITH(selftest-prefix, esac ]) +################################################# +# 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="" 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 " +if [ $# != 3 -a $# != 4 ]; then + echo "$0 []" 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<