1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

s3 make test: Add the ability to specify a custom smb.conf for make test

- Adds new -c <custom conf> option to selftest.sh that when specified
  adds a line to make test's server.conf: "include <custom conf>"
- Adds getopts processing to selftest.sh
- Changes selftest.sh shrdir arg to use -s <shrdir>
- Changes selftest.sh smbtorture4_path arg to use -t <smbtortur4 path>
- Adds configure option --with-selftest-custom-conf=<custom conf>
- Updates Makefile.in to take advantage of the new/changed parameters
This commit is contained in:
Tim Prouty 2009-01-25 14:38:44 -08:00
parent cce04c606e
commit 3aeee79096
3 changed files with 79 additions and 13 deletions

View File

@ -19,6 +19,7 @@ datarootdir=@datarootdir@
selftest_prefix=@selftest_prefix@
selftest_shrdir=@selftest_shrdir@
smbtorture4_path=@smbtorture4_path@
selftest_custom_conf=@selftest_custom_conf@
LIBS=@LIBS@
CC=@CC@
@ -2928,9 +2929,22 @@ test_pam_modules:: pam_modules
##
## Targets for 'make test'
##
ifdef smbtorture4_path
smbtorture4_path_arg=-t ${smbtorture4_path}
endif
ifdef selftest_shrdir
selftest_shrdir_arg=-s ${selftest_shrdir}
endif
ifdef selftest_custom_conf
selftest_custom_conf_arg=-c ${selftest_custom_conf}
endif
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}" ${selftest_shrdir}
@LIB_PATH_VAR=$(LIB_PATH_VAR) PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all ${smbtorture4_path_arg} ${selftest_shrdir_arg} ${selftest_custom_conf_arg}
valgrindtest:: all torture timelimit
@echo Running Test suite with valgrind
@ -2939,7 +2953,7 @@ valgrindtest:: all torture timelimit
WINBINDD_VALGRIND="xterm -n winbindd -e valgrind -q --db-attach=yes --num-callers=30" \
SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}"
PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all ${smbtorture4_path_arg} ${selftest_shrdir_arg} ${selftest_custom_conf_arg}
SELFTEST_FORMAT = plain
selftestdir = ../selftest

View File

@ -361,6 +361,25 @@ AC_ARG_WITH(smbtorture4_path,
esac
])
#################################################
# set custom conf for make test
selftest_custom_conf=""
AC_SUBST(selftest_custom_conf)
AC_ARG_WITH(selftest_custom_conf,
[AS_HELP_STRING([--with-selftest-custom-conf=PATH], [An optional custom smb.conf that is included in the server smb.conf during make test(none)])],
[ case "$withval" in
yes|no)
AC_MSG_ERROR([--with-selftest-custom-conf should take a path])
;;
* )
selftest_custom_conf="$withval"
if test -z "$selftest_custom_conf" -a ! -f $selftest_custom_conf; then
AC_MSG_ERROR(['$selftest_custom_conf' does not exist!])
fi
;;
esac
])
## check for --enable-debug first before checking CFLAGS before
## so that we don't mix -O and -g
debug=no

View File

@ -1,17 +1,44 @@
#!/bin/sh
if [ $# != 3 -a $# != 4 ]; then
echo "$0 <directory> <all | quick> <smbtorture4> [<shrdir>]"
if [ $# -lt 2 ]; then
echo "$0 <directory> <all | quick> [-t <smbtorture4>] [-s <shrdir>] " \
"[-c <custom conf>]"
exit 1
fi
SMBTORTURE4=$3
SUBTESTS=$2
##
## Setup the required args
##
DIRECTORY=$1; shift;
SUBTESTS=$1; shift;
##
## Parse oprtional args
##
while getopts s:c:t: f
do
case $f in
t) SMBTORTURE4=$OPTARG;;
s) ALT_SHRDIR_ARG=$OPTARG;;
c) CUSTOM_CONF_ARG=$OPTARG;;
esac
done
echo "Running selftest with the following"
echo "Selftest Directory:\t\t$DIRECTORY"
echo "Subtests to Run:\t\t$SUBTESTS"
echo "smbtorture4 Path:\t\t$SMBTORTURE4"
echo "Alternative Share Dir:\t\t$ALT_SHRDIR_ARG"
echo "Custom Configuration:\t\t$CUSTOM_CONF_ARG"
if [ $CUSTOM_CONF_ARG ]; then
INCLUDE_CUSTOM_CONF="include = $CUSTOM_CONF_ARG"
fi
##
## create the test directory
##
PREFIX=`echo $1 | sed s+//+/+`
PREFIX=`echo $DIRECTORY | sed s+//+/+`
mkdir -p $PREFIX || exit $?
OLD_PWD=`pwd`
cd $PREFIX || exit $?
@ -68,8 +95,10 @@ export WINBINDD_SOCKET_DIR WINBINDD_PRIV_PIPE_DIR
PATH=bin:$PATH
export PATH
SAMBA4BINDIR=`dirname $SMBTORTURE4`
SAMBA4SHAREDDIR="$SAMBA4BINDIR/shared"
if [ $SMBTORTRE4 ]; then
SAMBA4BINDIR=`dirname $SMBTORTURE4`
SAMBA4SHAREDDIR="$SAMBA4BINDIR/shared"
fi
export SAMBA4SHAREDDIR
export SMBTORTURE4
@ -116,8 +145,8 @@ chmod 755 $WINBINDD_SOCKET_DIR
##
## Create an alternate shrdir if one was specified.
##
if [ $# = 4 ]; then
ALT_SHRDIR=`echo $4 | sed s+//+/+`
if [ $ALT_SHRDIR_ARG ]; then
ALT_SHRDIR=`echo $ALT_SHRDIR_ARG | sed s+//+/+`
mkdir -p $ALT_SHRDIR || exit $?
OLD_PWD=`pwd`
cd $ALT_SHRDIR || exit $?
@ -200,8 +229,6 @@ cat >$SERVERCONFFILE<<EOF
# min receivefile size = 4000
[tmp]
path = $SHRDIR
read only = no
smbd:sharedelay = 100000
smbd:writetimeupdatedelay = 500000
@ -209,6 +236,12 @@ cat >$SERVERCONFFILE<<EOF
map system = yes
create mask = 755
vfs objects = $BINDIR/xattr_tdb.so $BINDIR/streams_depot.so
#Include user defined custom parameters if set
$INCLUDE_CUSTOM_CONF
[tmp]
path = $SHRDIR
[hideunread]
copy = tmp
hide unreadable = yes