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

Reply via email to