Author: jerry Date: 2005-08-03 05:46:43 +0000 (Wed, 03 Aug 2005) New Revision: 8990
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8990 Log: First trivial example of 'make test' Added: branches/SAMBA_3_0/source/script/tests/ branches/SAMBA_3_0/source/script/tests/gdb_backtrace branches/SAMBA_3_0/source/script/tests/runtests.sh branches/SAMBA_3_0/source/script/tests/t_listing.sh Modified: branches/SAMBA_3_0/source/ branches/SAMBA_3_0/source/Makefile.in Changeset: Property changes on: branches/SAMBA_3_0/source ___________________________________________________________________ Name: svn:ignore - *.po *.po32 .headers.stamp .inslog2 .ix* .proto.check .proto.stamp autom4te.cache autom4te-2.53.cache ID Makefile bin build config.cache config.log config.status configure.tridge cvs.log diffs dmalloc.log dmallog.log dox libtool so_locations tca.log testdir testtmp trace.out typescript* configure smbadduser .gdbinit TAGS + *.po *.po32 .headers.stamp .inslog2 .ix* .proto.check .proto.stamp autom4te.cache autom4te-2.53.cache ID Makefile bin build config.cache config.log config.status configure.tridge cvs.log diffs dmalloc.log dmallog.log dox libtool so_locations tca.log testdir testtmp trace.out typescript* configure smbadduser .gdbinit TAGS t_dir Modified: branches/SAMBA_3_0/source/Makefile.in =================================================================== --- branches/SAMBA_3_0/source/Makefile.in 2005-08-03 05:46:06 UTC (rev 8989) +++ branches/SAMBA_3_0/source/Makefile.in 2005-08-03 05:46:43 UTC (rev 8990) @@ -771,6 +771,14 @@ rm -f $(srcdir)/include/includes.h.gch $(CC) -I. -I$(srcdir) $(FLAGS) -c $(srcdir)/include/includes.h -o $(srcdir)/include/includes.h.gch +## +## Targets for 'make test' +## +test: all + @echo Running Samba 3 Test suite + sh ./script/tests/runtests.sh t_dir + + # These dependencies are only approximately correct: we want to make # sure Samba's paths are updated if ./configure is re-run. Really it # would be nice if "make prefix=/opt/samba all" also rebuilt things, @@ -1433,7 +1441,7 @@ clean: delheaders python_clean -rm -f core */*~ *~ */*.o */[EMAIL PROTECTED]@ */[EMAIL PROTECTED]@ \ $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) \ - $(LIBSMBCLIENT) $(EVERYTHING_PROGS) .headers.stamp + $(LIBSMBCLIENT) $(EVERYTHING_PROGS) .headers.stamp t_dir # Making this target will just make sure that the prototype files # exist, not necessarily that they are up to date. Since they're @@ -1572,9 +1580,9 @@ # because they're not all needed. check-programs: bin/t_strcmp bin/t_strstr bin/t_push_ucs2 bin/smbcontrol bin/t_snprintf -test: all - @if test -z "$(SMB4TORTURE)"; then \ - echo "Please set the SMB4TORTURE environment variable"; \ - exit 1; \ - fi - ./script/smb4torture.sh `pwd`/prefix-test $(SMB4TORTURE) +#test: all +# @if test -z "$(SMB4TORTURE)"; then \ +# echo "Please set the SMB4TORTURE environment variable"; \ +# exit 1; \ +# fi +# ./script/smb4torture.sh `pwd`/prefix-test $(SMB4TORTURE) Added: branches/SAMBA_3_0/source/script/tests/gdb_backtrace =================================================================== --- branches/SAMBA_3_0/source/script/tests/gdb_backtrace 2005-08-03 05:46:06 UTC (rev 8989) +++ branches/SAMBA_3_0/source/script/tests/gdb_backtrace 2005-08-03 05:46:43 UTC (rev 8990) @@ -0,0 +1,41 @@ +#! /bin/sh +# +# Author: Andrew Tridgell <tridge at samba dot org> + +# we want everything on stderr, so the program is not disturbed +exec 1>&2 + +BASENAME=$( basename $0) + +test -z ${GDB_BIN} && GDB_BIN=$( type -p gdb) +if [ -z ${GDB_BIN} ]; then + echo "ERROR: ${BASENAME} needs an installed gdb. " + exit 1 +fi + +if [ -z $1 ]; then + echo "ERROR: ${BASENAME} needs a PID. " + exit 1 +fi +PID=$1 + +# use /dev/shm as default temp directory +test -d /dev/shm && \ + TMP_BASE_DIR=/dev/shm || \ + TMP_BASE_DIR=/var/tmp +TMPFILE=$( mktemp -p ${TMP_BASE_DIR} backtrace.XXXXXX) +if [ $? -ne 0 ]; then + echo "ERROR: ${basename} can't create temp file in ${TMP_BASE_DIR}. " + exit 1 +fi + +cat << EOF > "${TMPFILE}" +set height 0 +up 8 +bt full +quit +EOF + +${GDB_BIN} -x "${TMPFILE}" "/proc/${PID}/exe" "${PID}" + +/bin/rm -f "${TMPFILE}" Added: branches/SAMBA_3_0/source/script/tests/runtests.sh =================================================================== --- branches/SAMBA_3_0/source/script/tests/runtests.sh 2005-08-03 05:46:06 UTC (rev 8989) +++ branches/SAMBA_3_0/source/script/tests/runtests.sh 2005-08-03 05:46:43 UTC (rev 8990) @@ -0,0 +1,41 @@ +#!/bin/sh + +DOMAIN=SAMBA-TEST +export DOMAIN + +if [ "x$1" == "x" ]; then + echo "$0 <directory>" + exit 1 +fi + +PREFIX=`echo $1 | sed s+//+/+` + +mkdir -p $PREFIX || exit $? +OLD_PWD=`pwd` +cd $PREFIX || exit $? +export PREFIX_ABS=`pwd` +cd $OLD_PWD + +TMPDIR=$PREFIX_ABS/tmp +LIBDIR=$PREFIX_ABS/lib +PIDDIR=$PREFIX_ABS/pid +CONFFILE=$LIBDIR/smb.conf +PRIVATEDIR=$PREFIX_ABS/private +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 +export PRIVATEDIR LIBDIR PIDDIR LOCKDIR TMPDIR LOGDIR + +cd script/tests +for testfile in t_*sh; do + sh $testfile +done + Added: branches/SAMBA_3_0/source/script/tests/t_listing.sh =================================================================== --- branches/SAMBA_3_0/source/script/tests/t_listing.sh 2005-08-03 05:46:06 UTC (rev 8989) +++ branches/SAMBA_3_0/source/script/tests/t_listing.sh 2005-08-03 05:46:43 UTC (rev 8990) @@ -0,0 +1,28 @@ +#!/bin/sh + +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 + +[test] + path = $TMPDIR + read only = no +EOF + + +smbd $CONFIGURATION || exit $? +sleep 1 +smbclient $CONFIGURATION -L localhost -N -p 139 + +killall smbd
