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

r8990: First trivial example of 'make test'

This commit is contained in:
Gerald Carter 2005-08-03 05:46:43 +00:00 committed by Gerald (Jerry) Carter
parent 3d491ebf9c
commit 11c8863949
4 changed files with 125 additions and 7 deletions

View File

@ -771,6 +771,14 @@ pch:
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 @@ TOPFILES=dynconfig.o dynconfig.@PICSUFFIX@
clean: delheaders python_clean
-rm -f core */*~ *~ */*.o */*.@PICSUFFIX@ */*.@SHLIBEXT@ \
$(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 @@ check: check-programs
# 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)

View File

@ -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}"

View File

@ -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

View File

@ -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