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:
parent
3d491ebf9c
commit
11c8863949
@ -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)
|
||||
|
41
source/script/tests/gdb_backtrace
Normal file
41
source/script/tests/gdb_backtrace
Normal 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}"
|
41
source/script/tests/runtests.sh
Normal file
41
source/script/tests/runtests.sh
Normal 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
|
||||
|
28
source/script/tests/t_listing.sh
Normal file
28
source/script/tests/t_listing.sh
Normal 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
|
Loading…
Reference in New Issue
Block a user