From ed9ad1827bcead21483ce59464b5e3da7a509d29 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 21 Mar 2006 22:16:44 +0000 Subject: r14632: add basic 'make test' using samba4's smbtorture I'll try to add some tests using samba3's smbtorture and smbclient later. can someone check if this would be save to run on the build-farm without leaking child processes... metze (This used to be commit 899fd6808ebd04d039caf7199c60d34a4987b43a) --- source3/script/tests/test_functions.sh | 221 +++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 source3/script/tests/test_functions.sh (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh new file mode 100644 index 0000000000..265385d0b1 --- /dev/null +++ b/source3/script/tests/test_functions.sh @@ -0,0 +1,221 @@ + +samba3_stop_sig_term() { + RET=0 + kill -USR1 `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 || \ + kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` || RET=$? + + kill -USR1 `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 || \ + kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` || RET=$? + + return $RET; +} + +samba3_stop_sig_kill() { + kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 + kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 + return 0; +} + +samba3_check_or_start() { + if [ -n "$SERVER_TEST_FIFO" ];then + + trap samba3_stop_sig_kill SIGINT SIGQUIT + trap samba3_stop_sig_kill SIGTERM + + if [ -p "$SERVER_TEST_FIFO" ];then + return 0; + fi + + if [ -n "$SOCKET_WRAPPER_DIR" ];then + if [ -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + else + mkdir -p $SOCKET_WRAPPER_DIR + fi + fi + + rm -f $SERVER_TEST_FIFO + mkfifo $SERVER_TEST_FIFO + + rm -f $NMBD_TEST_LOG + echo -n "STARTING NMBD..." + (( + if [ -z "$NMBD_MAXTIME" ]; then + NMBD_MAXTIME=2700 + fi + timelimit $NMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d1 -s $CONFFILE > $NMBD_TEST_LOG 2>&1 & + TIMELIMIT_NMBD_PID=$! + echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid + wait $TIMELIMIT_NMBD_PID + ret=$?; + rm -f $SERVER_TEST_FIFO + if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + fi + if [ x"$ret" = x"0" ];then + echo "nmbd exits with status $ret"; + echo "nmbd exits with status $ret" >>$NMBD_TEST_LOG; + elif [ x"$ret" = x"137" ];then + echo "nmbd got SIGXCPU and exits with status $ret!" + echo "nmbd got SIGXCPU and exits with status $ret!">>$NMBD_TEST_LOG; + else + echo "nmbd failed with status $ret!" + echo "nmbd failed with status $ret!">>$NMBD_TEST_LOG; + fi + exit $ret; + ) || exit $? &) 2>/dev/null || exit $? + echo "DONE" + + rm -f $SMBD_TEST_LOG + echo -n "STARTING SMBD..." + (( + if [ -z "$SMBD_MAXTIME" ]; then + SMBD_MAXTIME=2700 + fi + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d1 -s $CONFFILE > $SMBD_TEST_LOG 2>&1 & + TIMELIMIT_SMBD_PID=$! + echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid + wait $TIMELIMIT_SMBD_PID + ret=$?; + rm -f $SERVER_TEST_FIFO + if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + fi + if [ x"$ret" = x"0" ];then + echo "smbd exits with status $ret"; + echo "smbd exits with status $ret" >>$SMBD_TEST_LOG; + elif [ x"$ret" = x"137" ];then + echo "smbd got SIGXCPU and exits with status $ret!" + echo "smbd got SIGXCPU and exits with status $ret!">>$SMBD_TEST_LOG; + else + echo "smbd failed with status $ret!" + echo "smbd failed with status $ret!">>$SMBD_TEST_LOG; + fi + exit $ret; + ) || exit $? &) 2>/dev/null || exit $? + echo "DONE" + fi + return 0; +} + +samba3_nmbd_test_log() { + if [ -n "$NMBD_TEST_LOG" ];then + if [ -r "$NMBD_TEST_LOG" ];then + return 0; + fi + fi + return 1; +} + +samba3_smbd_test_log() { + if [ -n "$SMBD_TEST_LOG" ];then + if [ -r "$SMBD_TEST_LOG" ];then + return 0; + fi + fi + return 1; +} + +samba3_check_only() { + if [ -n "$SERVER_TEST_FIFO" ];then + if [ -p "$SERVER_TEST_FIFO" ];then + return 0; + fi + return 1; + fi + return 0; +} + +testit() { + if [ -z "$PREFIX" ]; then + PREFIX=test_prefix + mkdir -p $PREFIX + fi + name=$1 + shift 1 + SERVERS_ARE_UP="no" + TEST_LOG="$PREFIX/test_log.$$" + trap "rm -f $TEST_LOG" EXIT + cmdline="$*" + + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "--==--==--==--==--==--==--==--==--==--==--" + echo "Running test $name (level 0 stdout)" + echo "--==--==--==--==--==--==--==--==--==--==--" + date + echo "Testing $name" + else + echo "Testing $name ($failed)" + fi + + samba3_check_only && SERVERS_ARE_UP="yes" + if [ x"$SERVERS_ARE_UP" != x"yes" ];then + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "SERVERS are down! Skipping: $cmdline" + echo "==========================================" + echo "TEST SKIPPED: $name (reason SERVERS are down)" + echo "==========================================" + else + echo "TEST SKIPPED: $name (reason SERVERS are down)" + fi + return 1 + fi + + ( $cmdline > $TEST_LOG 2>&1 ) + status=$? + if [ x"$status" != x"0" ]; then + echo "TEST OUTPUT:" + cat $TEST_LOG; + samba3_nmbd_test_log && echo "NMBD OUTPUT:"; + samba3_nmbd_test_log && cat $NMBD_TEST_LOG; + samba3_smbd_test_log && echo "SMBD OUTPUT:"; + samba3_smbd_test_log && cat $SMBD_TEST_LOG; + rm -f $TEST_LOG; + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "==========================================" + echo "TEST FAILED: $name (status $status)" + echo "==========================================" + else + echo "TEST FAILED: $cmdline (status $status)" + fi + return 1; + fi + rm -f $TEST_LOG; + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "ALL OK: $cmdline" + echo "==========================================" + echo "TEST PASSED: $name" + echo "==========================================" + fi + return 0; +} + +testok() { + name=`basename $1` + failed=$2 + + if [ x"$failed" = x"0" ];then + : + else + echo "$failed TESTS FAILED or SKIPPED ($name)"; + fi + exit $failed +} + +teststatus() { + name=`basename $1` + failed=$2 + + if [ x"$failed" = x"0" ];then + echo "TEST STATUS: $failed"; + else + echo "TEST STATUS: $failed"; + fi + exit $failed +} + +if [ -z "$VALGRIND" ]; then + MALLOC_CHECK_=2 + export MALLOC_CHECK_ +fi + -- cgit From aa583e5912866069f1f79e0b675e9e7927c64fbe Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 23 Mar 2006 14:55:38 +0000 Subject: r14678: - we need to use 127.0.0.2/8 as interface for the server as nmbd skip interfaces with address 127.0.0.1 - add samba3 smbclient -L tests - add samba3 smbtorture tests metze (This used to be commit 835f8f4339f41619ec890e38569b745c5ef5d44e) --- source3/script/tests/test_functions.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 265385d0b1..4e3b8ce7db 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -43,7 +43,7 @@ samba3_check_or_start() { if [ -z "$NMBD_MAXTIME" ]; then NMBD_MAXTIME=2700 fi - timelimit $NMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d1 -s $CONFFILE > $NMBD_TEST_LOG 2>&1 & + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & TIMELIMIT_NMBD_PID=$! echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid wait $TIMELIMIT_NMBD_PID @@ -65,14 +65,14 @@ samba3_check_or_start() { exit $ret; ) || exit $? &) 2>/dev/null || exit $? echo "DONE" - + rm -f $SMBD_TEST_LOG echo -n "STARTING SMBD..." (( if [ -z "$SMBD_MAXTIME" ]; then SMBD_MAXTIME=2700 fi - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d1 -s $CONFFILE > $SMBD_TEST_LOG 2>&1 & + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & TIMELIMIT_SMBD_PID=$! echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid wait $TIMELIMIT_SMBD_PID -- cgit From 186f442f4cd4a8434c4e2d4e2c0de97b855c5586 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 2 Apr 2006 12:52:59 +0000 Subject: r14865: - enforce timelimits for the tests - and skip some long tests for now metze (This used to be commit 1d52ae786d400441d9f5b30b4fa9e4e8ff64f7e4) --- source3/script/tests/test_functions.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 4e3b8ce7db..6ad1c6951b 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -161,7 +161,10 @@ testit() { return 1 fi - ( $cmdline > $TEST_LOG 2>&1 ) + if [ -z "$TORTURE_MAXTIME" ];then + TORTURE_MAXTIME=300 + fi + ( timelimit $TORTURE_MAXTIME $cmdline > $TEST_LOG 2>&1 ) status=$? if [ x"$status" != x"0" ]; then echo "TEST OUTPUT:" -- cgit From 97bfe0d0a0da8a4476db25918e268ee466a974c3 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 3 Apr 2006 11:32:57 +0000 Subject: r14884: this doesn't work and causes processes to be left when using ctrl-c (SIGINT) metze (This used to be commit 1ac5351646b18f28b1f9ed477b6e6046e1bdf783) --- source3/script/tests/test_functions.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 6ad1c6951b..4e3b8ce7db 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -161,10 +161,7 @@ testit() { return 1 fi - if [ -z "$TORTURE_MAXTIME" ];then - TORTURE_MAXTIME=300 - fi - ( timelimit $TORTURE_MAXTIME $cmdline > $TEST_LOG 2>&1 ) + ( $cmdline > $TEST_LOG 2>&1 ) status=$? if [ x"$status" != x"0" ]; then echo "TEST OUTPUT:" -- cgit From 78d733e6672e81c1b3411ce2377c74f1520b51c2 Mon Sep 17 00:00:00 2001 From: Jim McDonough Date: Wed, 24 May 2006 19:07:21 +0000 Subject: r15872: Take one step toward getting this working on AIX. the [-z ] stuff doesn't work there. (This used to be commit 0ee78d96d9bd039084a270172316d80df4c00248) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 4e3b8ce7db..4134376bfc 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -40,7 +40,7 @@ samba3_check_or_start() { rm -f $NMBD_TEST_LOG echo -n "STARTING NMBD..." (( - if [ -z "$NMBD_MAXTIME" ]; then + if ! test -n "$NMBD_MAXTIME"; then NMBD_MAXTIME=2700 fi timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & @@ -69,7 +69,7 @@ samba3_check_or_start() { rm -f $SMBD_TEST_LOG echo -n "STARTING SMBD..." (( - if [ -z "$SMBD_MAXTIME" ]; then + if ! test -n "$SMBD_MAXTIME"; then SMBD_MAXTIME=2700 fi timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & -- cgit From b4f96abf0a9dd51980a1f830d5a79b37730eee62 Mon Sep 17 00:00:00 2001 From: Jim McDonough Date: Wed, 24 May 2006 20:06:06 +0000 Subject: r15873: Use short signal names to placate ksh trap. bash seems to accept either and even uses them on the manpage. this should now enable make test on AIX. (This used to be commit de836d2077e53c07a50c51d1580f8e93700eb5bd) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 4134376bfc..f263677bfc 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -19,8 +19,8 @@ samba3_stop_sig_kill() { samba3_check_or_start() { if [ -n "$SERVER_TEST_FIFO" ];then - trap samba3_stop_sig_kill SIGINT SIGQUIT - trap samba3_stop_sig_kill SIGTERM + trap samba3_stop_sig_kill INT QUIT + trap samba3_stop_sig_kill TERM if [ -p "$SERVER_TEST_FIFO" ];then return 0; -- cgit From 096061c212ef9c45eb282d6e026336baf0e95547 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 28 May 2006 09:59:16 +0000 Subject: r15918: Attempt to bring Solaris into make test. The Solaris shell does not like the isolated !. Metze, can you check this? Thanks, Volker (This used to be commit c9542c64ce2a21671b8f4e30780e8a6e07ab6632) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index f263677bfc..882efa5cad 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -40,7 +40,7 @@ samba3_check_or_start() { rm -f $NMBD_TEST_LOG echo -n "STARTING NMBD..." (( - if ! test -n "$NMBD_MAXTIME"; then + if test ! -n "$NMBD_MAXTIME"; then NMBD_MAXTIME=2700 fi timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & @@ -69,7 +69,7 @@ samba3_check_or_start() { rm -f $SMBD_TEST_LOG echo -n "STARTING SMBD..." (( - if ! test -n "$SMBD_MAXTIME"; then + if test ! -n "$SMBD_MAXTIME"; then SMBD_MAXTIME=2700 fi timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & -- cgit From 4c411c9bb96adb664d81b32ada68bc92e2f2df59 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 28 May 2006 16:06:56 +0000 Subject: r15924: Ok, the Solaris fix broke AIX. Next try :-) Volker (This used to be commit 53bd3fa30ad1f8bada4a49e4c79ea7ff70188174) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 882efa5cad..368832a506 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -40,7 +40,7 @@ samba3_check_or_start() { rm -f $NMBD_TEST_LOG echo -n "STARTING NMBD..." (( - if test ! -n "$NMBD_MAXTIME"; then + if test x"$NMBD_MAXTIME" = x; then NMBD_MAXTIME=2700 fi timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & @@ -69,7 +69,7 @@ samba3_check_or_start() { rm -f $SMBD_TEST_LOG echo -n "STARTING SMBD..." (( - if test ! -n "$SMBD_MAXTIME"; then + if test x"$SMBD_MAXTIME" = x; then SMBD_MAXTIME=2700 fi timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & -- cgit From f2b3143cf72c9d8f391b867353757770d1f0b012 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Wed, 30 Aug 2006 16:58:29 +0000 Subject: r17934: allow srcdir != builddir for 'make test' (This used to be commit 70f223554922947a17e81f1002b184db879a2195) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 368832a506..06c77c89d5 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -43,7 +43,7 @@ samba3_check_or_start() { if test x"$NMBD_MAXTIME" = x; then NMBD_MAXTIME=2700 fi - timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & TIMELIMIT_NMBD_PID=$! echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid wait $TIMELIMIT_NMBD_PID @@ -72,7 +72,7 @@ samba3_check_or_start() { if test x"$SMBD_MAXTIME" = x; then SMBD_MAXTIME=2700 fi - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & TIMELIMIT_SMBD_PID=$! echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid wait $TIMELIMIT_SMBD_PID -- cgit From 4366ca702dbb1566ee5dc8ffca95a36cf83032a5 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 5 Oct 2006 11:52:23 +0000 Subject: r19100: merge from samba4: export MAKE_TEST_ENABLE_PCAP=yes enables SOCKET_WRAPPER_PCAP_FILE support in make test metze (This used to be commit 5faf816885b7a1bca5a25ab1ef5151d4e364cbda) --- source3/script/tests/test_functions.sh | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 06c77c89d5..badbdd5b8e 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -133,11 +133,18 @@ testit() { fi name=$1 shift 1 - SERVERS_ARE_UP="no" - TEST_LOG="$PREFIX/test_log.$$" - trap "rm -f $TEST_LOG" EXIT cmdline="$*" + SERVERS_ARE_UP="no" + + shname=`echo $name | \ + sed -e 's%[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\-]%_%g'` + + UNIQUE_PID=`/bin/sh -c 'echo $$'` + TEST_LOG="$PREFIX/test_log.${UNIQUE_PID}" + TEST_PCAP="$PREFIX/test_${shname}_${UNIQUE_PID}.pcap" + trap "rm -f $TEST_LOG $TEST_PCAP" EXIT + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then echo "--==--==--==--==--==--==--==--==--==--==--" echo "Running test $name (level 0 stdout)" @@ -160,7 +167,12 @@ testit() { fi return 1 fi - + + if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then + SOCKET_WRAPPER_PCAP_FILE=$TEST_PCAP + export SOCKET_WRAPPER_PCAP_FILE + fi + ( $cmdline > $TEST_LOG 2>&1 ) status=$? if [ x"$status" != x"0" ]; then @@ -171,6 +183,9 @@ testit() { samba3_smbd_test_log && echo "SMBD OUTPUT:"; samba3_smbd_test_log && cat $SMBD_TEST_LOG; rm -f $TEST_LOG; + if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then + echo "TEST PCAP: $TEST_PCAP" + fi if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then echo "==========================================" echo "TEST FAILED: $name (status $status)" @@ -180,7 +195,7 @@ testit() { fi return 1; fi - rm -f $TEST_LOG; + rm -f $TEST_LOG $TEST_PCAP; if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then echo "ALL OK: $cmdline" echo "==========================================" -- cgit From 0e66bafd47df4712666a022f7c4ad04faef7ac3c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 8 Oct 2006 20:30:09 +0000 Subject: r19169: port the trick to only display the smbd and nmbd log output of the current test metze (This used to be commit f668d4839de0ec98fcacf2efb6a69970757bebdd) --- source3/script/tests/test_functions.sh | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index badbdd5b8e..913e93210a 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -145,6 +145,13 @@ testit() { TEST_PCAP="$PREFIX/test_${shname}_${UNIQUE_PID}.pcap" trap "rm -f $TEST_LOG $TEST_PCAP" EXIT + if [ -z "$nmbd_log_size" ]; then + nmbd_log_size=`wc -l < $NMBD_TEST_LOG`; + fi + if [ -z "$smbd_log_size" ]; then + smbd_log_size=`wc -l < $SMBD_TEST_LOG`; + fi + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then echo "--==--==--==--==--==--==--==--==--==--==--" echo "Running test $name (level 0 stdout)" @@ -175,13 +182,29 @@ testit() { ( $cmdline > $TEST_LOG 2>&1 ) status=$? + # show any additional output from smbd that has happened in this test + samba3_nmbd_test_log && { + new_log_size=`wc -l < $NMBD_TEST_LOG`; + test "$new_log_size" = "$nmbd_log_size" || { + echo "NMBD OUTPUT:"; + incr_log_size=`expr $new_log_size - $nmbd_log_size`; + tail -$incr_log_size $NMBD_TEST_LOG; + nmbd_log_size=$new_log_size; + } + } + samba3_smbd_test_log && { + new_log_size=`wc -l < $SMBD_TEST_LOG`; + test "$new_log_size" = "$smbd_log_size" || { + echo "SMBD OUTPUT:"; + incr_log_size=`expr $new_log_size - $smbd_log_size`; + tail -$incr_log_size $SMBD_TEST_LOG; + smbd_log_size=$new_log_size; + } + } + if [ x"$status" != x"0" ]; then echo "TEST OUTPUT:" cat $TEST_LOG; - samba3_nmbd_test_log && echo "NMBD OUTPUT:"; - samba3_nmbd_test_log && cat $NMBD_TEST_LOG; - samba3_smbd_test_log && echo "SMBD OUTPUT:"; - samba3_smbd_test_log && cat $SMBD_TEST_LOG; rm -f $TEST_LOG; if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then echo "TEST PCAP: $TEST_PCAP" -- cgit From 4a83c77c95206b35e6eba246918f5b5cf073b398 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 8 Oct 2006 20:38:25 +0000 Subject: r19170: use a very clever trick to pass the binary name to the gdb_backtrace script, I never noticed that %$(envvar) exists... Thanks to Bjoern Jacke for the suggestion! metze (This used to be commit 12a37bab3eafdabeb4f0dc23254bdec41860cd87) --- source3/script/tests/test_functions.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 913e93210a..cbec86e70c 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -43,8 +43,11 @@ samba3_check_or_start() { if test x"$NMBD_MAXTIME" = x; then NMBD_MAXTIME=2700 fi + MAKE_TEST_BINARY=$BINDIR/nmbd + export MAKE_TEST_BINARY timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & TIMELIMIT_NMBD_PID=$! + MAKE_TEST_BINARY= echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid wait $TIMELIMIT_NMBD_PID ret=$?; @@ -72,8 +75,11 @@ samba3_check_or_start() { if test x"$SMBD_MAXTIME" = x; then SMBD_MAXTIME=2700 fi + MAKE_TEST_BINARY=$BINDIR/smbd + export MAKE_TEST_BINARY timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & TIMELIMIT_SMBD_PID=$! + MAKE_TEST_BINARY= echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid wait $TIMELIMIT_SMBD_PID ret=$?; @@ -133,6 +139,7 @@ testit() { fi name=$1 shift 1 + binary=$1 cmdline="$*" SERVERS_ARE_UP="no" @@ -180,8 +187,11 @@ testit() { export SOCKET_WRAPPER_PCAP_FILE fi + MAKE_TEST_BINARY=$binary + export MAKE_TEST_BINARY ( $cmdline > $TEST_LOG 2>&1 ) status=$? + MAKE_TEST_BINARY= # show any additional output from smbd that has happened in this test samba3_nmbd_test_log && { new_log_size=`wc -l < $NMBD_TEST_LOG`; -- cgit From 6c6842ee9449c45160fb82b6c1002f20414d3e6e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 9 Oct 2006 06:48:55 +0000 Subject: r19181: merge from samba4: with "export MAKE_TEST_KEEP_PCAP=yes" make test doesn't delete the generated pcap files metze (This used to be commit 74212c30563826e2248c1cb16e4c953a28a25488) --- source3/script/tests/test_functions.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index cbec86e70c..3917eb86ac 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -228,7 +228,12 @@ testit() { fi return 1; fi - rm -f $TEST_LOG $TEST_PCAP; + rm -f $TEST_LOG; + if [ x"$MAKE_TEST_KEEP_PCAP" = x"yes" ];then + echo "TEST PCAP: $TEST_PCAP" + else + rm -f $TEST_PCAP; + fi if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then echo "ALL OK: $cmdline" echo "==========================================" -- cgit From e7c14137fa4f6c37b9418bc161f09d2617657274 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 21 Oct 2006 11:50:52 +0000 Subject: r19444: merge from samba4: reset trap when we have removed the test specifc files already metze (This used to be commit 36065025c70d4ae3115554aac44c8807725a63b7) --- source3/script/tests/test_functions.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 3917eb86ac..1cc9ea1264 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -226,6 +226,7 @@ testit() { else echo "TEST FAILED: $cmdline (status $status)" fi + trap "" EXIT return 1; fi rm -f $TEST_LOG; @@ -240,6 +241,7 @@ testit() { echo "TEST PASSED: $name" echo "==========================================" fi + trap "" EXIT return 0; } -- cgit From 41c8f3da97a443fc4a9a987a3c2588eb07e324b3 Mon Sep 17 00:00:00 2001 From: James Peach Date: Thu, 8 Mar 2007 20:54:13 +0000 Subject: r21766: Fix compiler warning. (This used to be commit f82ac78b2fa623f5868201bd54ffac9c8f318eef) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 1cc9ea1264..0089f620a3 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -45,7 +45,7 @@ samba3_check_or_start() { fi MAKE_TEST_BINARY=$BINDIR/nmbd export MAKE_TEST_BINARY - timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & TIMELIMIT_NMBD_PID=$! MAKE_TEST_BINARY= echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid @@ -77,7 +77,7 @@ samba3_check_or_start() { fi MAKE_TEST_BINARY=$BINDIR/smbd export MAKE_TEST_BINARY - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F --no-process-group -s $SERVERCONFFILE -l $SOCKET_WRAPPER_DIR > $SMBD_TEST_LOG 2>&1 & TIMELIMIT_SMBD_PID=$! MAKE_TEST_BINARY= echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid -- cgit From a39f08eec29235d9b09c169e3a95eba0484c7847 Mon Sep 17 00:00:00 2001 From: James Peach Date: Thu, 8 Mar 2007 21:30:15 +0000 Subject: r21767: Revert all the bits I accidentally committed in r21766. (This used to be commit 7e862b908057b7971f8163ee94c9358a63998e87) --- source3/script/tests/test_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 0089f620a3..1cc9ea1264 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -45,7 +45,7 @@ samba3_check_or_start() { fi MAKE_TEST_BINARY=$BINDIR/nmbd export MAKE_TEST_BINARY - timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & TIMELIMIT_NMBD_PID=$! MAKE_TEST_BINARY= echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid @@ -77,7 +77,7 @@ samba3_check_or_start() { fi MAKE_TEST_BINARY=$BINDIR/smbd export MAKE_TEST_BINARY - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F --no-process-group -s $SERVERCONFFILE -l $SOCKET_WRAPPER_DIR > $SMBD_TEST_LOG 2>&1 & + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & TIMELIMIT_SMBD_PID=$! MAKE_TEST_BINARY= echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid -- cgit From 679ef7b6babef0666749bea1d3b722786ce928d9 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 28 Sep 2007 22:16:14 +0000 Subject: r25415: Merge the 3.2-perltest branch that switches Samba 3.2 to use Samba 4's selftest code. See the mailing list for details. (This used to be commit bdc831ddb3a860676c36bbd89e6f748946df68a1) --- source3/script/tests/test_functions.sh | 279 +-------------------------------- 1 file changed, 7 insertions(+), 272 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 1cc9ea1264..9ad1155024 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -1,276 +1,11 @@ - -samba3_stop_sig_term() { - RET=0 - kill -USR1 `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 || \ - kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` || RET=$? - - kill -USR1 `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 || \ - kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` || RET=$? - - return $RET; -} - -samba3_stop_sig_kill() { - kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 - kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 - return 0; -} - -samba3_check_or_start() { - if [ -n "$SERVER_TEST_FIFO" ];then - - trap samba3_stop_sig_kill INT QUIT - trap samba3_stop_sig_kill TERM - - if [ -p "$SERVER_TEST_FIFO" ];then - return 0; - fi - - if [ -n "$SOCKET_WRAPPER_DIR" ];then - if [ -d "$SOCKET_WRAPPER_DIR" ]; then - rm -f $SOCKET_WRAPPER_DIR/* - else - mkdir -p $SOCKET_WRAPPER_DIR - fi - fi - - rm -f $SERVER_TEST_FIFO - mkfifo $SERVER_TEST_FIFO - - rm -f $NMBD_TEST_LOG - echo -n "STARTING NMBD..." - (( - if test x"$NMBD_MAXTIME" = x; then - NMBD_MAXTIME=2700 - fi - MAKE_TEST_BINARY=$BINDIR/nmbd - export MAKE_TEST_BINARY - timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & - TIMELIMIT_NMBD_PID=$! - MAKE_TEST_BINARY= - echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid - wait $TIMELIMIT_NMBD_PID - ret=$?; - rm -f $SERVER_TEST_FIFO - if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then - rm -f $SOCKET_WRAPPER_DIR/* - fi - if [ x"$ret" = x"0" ];then - echo "nmbd exits with status $ret"; - echo "nmbd exits with status $ret" >>$NMBD_TEST_LOG; - elif [ x"$ret" = x"137" ];then - echo "nmbd got SIGXCPU and exits with status $ret!" - echo "nmbd got SIGXCPU and exits with status $ret!">>$NMBD_TEST_LOG; - else - echo "nmbd failed with status $ret!" - echo "nmbd failed with status $ret!">>$NMBD_TEST_LOG; - fi - exit $ret; - ) || exit $? &) 2>/dev/null || exit $? - echo "DONE" - - rm -f $SMBD_TEST_LOG - echo -n "STARTING SMBD..." - (( - if test x"$SMBD_MAXTIME" = x; then - SMBD_MAXTIME=2700 - fi - MAKE_TEST_BINARY=$BINDIR/smbd - export MAKE_TEST_BINARY - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & - TIMELIMIT_SMBD_PID=$! - MAKE_TEST_BINARY= - echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid - wait $TIMELIMIT_SMBD_PID - ret=$?; - rm -f $SERVER_TEST_FIFO - if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then - rm -f $SOCKET_WRAPPER_DIR/* - fi - if [ x"$ret" = x"0" ];then - echo "smbd exits with status $ret"; - echo "smbd exits with status $ret" >>$SMBD_TEST_LOG; - elif [ x"$ret" = x"137" ];then - echo "smbd got SIGXCPU and exits with status $ret!" - echo "smbd got SIGXCPU and exits with status $ret!">>$SMBD_TEST_LOG; - else - echo "smbd failed with status $ret!" - echo "smbd failed with status $ret!">>$SMBD_TEST_LOG; - fi - exit $ret; - ) || exit $? &) 2>/dev/null || exit $? - echo "DONE" - fi - return 0; -} - -samba3_nmbd_test_log() { - if [ -n "$NMBD_TEST_LOG" ];then - if [ -r "$NMBD_TEST_LOG" ];then - return 0; - fi - fi - return 1; -} - -samba3_smbd_test_log() { - if [ -n "$SMBD_TEST_LOG" ];then - if [ -r "$SMBD_TEST_LOG" ];then - return 0; - fi - fi - return 1; -} - -samba3_check_only() { - if [ -n "$SERVER_TEST_FIFO" ];then - if [ -p "$SERVER_TEST_FIFO" ];then - return 0; - fi - return 1; - fi - return 0; -} - -testit() { - if [ -z "$PREFIX" ]; then - PREFIX=test_prefix - mkdir -p $PREFIX - fi +plantest() { name=$1 - shift 1 - binary=$1 + env=$2 + shift 2 cmdline="$*" - - SERVERS_ARE_UP="no" - - shname=`echo $name | \ - sed -e 's%[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\-]%_%g'` - - UNIQUE_PID=`/bin/sh -c 'echo $$'` - TEST_LOG="$PREFIX/test_log.${UNIQUE_PID}" - TEST_PCAP="$PREFIX/test_${shname}_${UNIQUE_PID}.pcap" - trap "rm -f $TEST_LOG $TEST_PCAP" EXIT - - if [ -z "$nmbd_log_size" ]; then - nmbd_log_size=`wc -l < $NMBD_TEST_LOG`; - fi - if [ -z "$smbd_log_size" ]; then - smbd_log_size=`wc -l < $SMBD_TEST_LOG`; - fi - - if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then - echo "--==--==--==--==--==--==--==--==--==--==--" - echo "Running test $name (level 0 stdout)" - echo "--==--==--==--==--==--==--==--==--==--==--" - date - echo "Testing $name" - else - echo "Testing $name ($failed)" - fi - - samba3_check_only && SERVERS_ARE_UP="yes" - if [ x"$SERVERS_ARE_UP" != x"yes" ];then - if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then - echo "SERVERS are down! Skipping: $cmdline" - echo "==========================================" - echo "TEST SKIPPED: $name (reason SERVERS are down)" - echo "==========================================" - else - echo "TEST SKIPPED: $name (reason SERVERS are down)" - fi - return 1 - fi - - if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then - SOCKET_WRAPPER_PCAP_FILE=$TEST_PCAP - export SOCKET_WRAPPER_PCAP_FILE - fi - - MAKE_TEST_BINARY=$binary - export MAKE_TEST_BINARY - ( $cmdline > $TEST_LOG 2>&1 ) - status=$? - MAKE_TEST_BINARY= - # show any additional output from smbd that has happened in this test - samba3_nmbd_test_log && { - new_log_size=`wc -l < $NMBD_TEST_LOG`; - test "$new_log_size" = "$nmbd_log_size" || { - echo "NMBD OUTPUT:"; - incr_log_size=`expr $new_log_size - $nmbd_log_size`; - tail -$incr_log_size $NMBD_TEST_LOG; - nmbd_log_size=$new_log_size; - } - } - samba3_smbd_test_log && { - new_log_size=`wc -l < $SMBD_TEST_LOG`; - test "$new_log_size" = "$smbd_log_size" || { - echo "SMBD OUTPUT:"; - incr_log_size=`expr $new_log_size - $smbd_log_size`; - tail -$incr_log_size $SMBD_TEST_LOG; - smbd_log_size=$new_log_size; - } - } - - if [ x"$status" != x"0" ]; then - echo "TEST OUTPUT:" - cat $TEST_LOG; - rm -f $TEST_LOG; - if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then - echo "TEST PCAP: $TEST_PCAP" - fi - if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then - echo "==========================================" - echo "TEST FAILED: $name (status $status)" - echo "==========================================" - else - echo "TEST FAILED: $cmdline (status $status)" - fi - trap "" EXIT - return 1; - fi - rm -f $TEST_LOG; - if [ x"$MAKE_TEST_KEEP_PCAP" = x"yes" ];then - echo "TEST PCAP: $TEST_PCAP" - else - rm -f $TEST_PCAP; - fi - if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then - echo "ALL OK: $cmdline" - echo "==========================================" - echo "TEST PASSED: $name" - echo "==========================================" - fi - trap "" EXIT - return 0; -} - -testok() { - name=`basename $1` - failed=$2 - - if [ x"$failed" = x"0" ];then - : - else - echo "$failed TESTS FAILED or SKIPPED ($name)"; - fi - exit $failed + echo "-- TEST --" + echo $name + echo $env + echo $cmdline } -teststatus() { - name=`basename $1` - failed=$2 - - if [ x"$failed" = x"0" ];then - echo "TEST STATUS: $failed"; - else - echo "TEST STATUS: $failed"; - fi - exit $failed -} - -if [ -z "$VALGRIND" ]; then - MALLOC_CHECK_=2 - export MALLOC_CHECK_ -fi - -- cgit From e5a951325a6cac8567af3a66de6d2df577508ae4 Mon Sep 17 00:00:00 2001 From: "Gerald (Jerry) Carter" Date: Wed, 10 Oct 2007 15:34:30 -0500 Subject: [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch. (This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab) --- source3/script/tests/test_functions.sh | 279 ++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 7 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 9ad1155024..1cc9ea1264 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -1,11 +1,276 @@ -plantest() { + +samba3_stop_sig_term() { + RET=0 + kill -USR1 `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 || \ + kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` || RET=$? + + kill -USR1 `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 || \ + kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` || RET=$? + + return $RET; +} + +samba3_stop_sig_kill() { + kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 + kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 + return 0; +} + +samba3_check_or_start() { + if [ -n "$SERVER_TEST_FIFO" ];then + + trap samba3_stop_sig_kill INT QUIT + trap samba3_stop_sig_kill TERM + + if [ -p "$SERVER_TEST_FIFO" ];then + return 0; + fi + + if [ -n "$SOCKET_WRAPPER_DIR" ];then + if [ -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + else + mkdir -p $SOCKET_WRAPPER_DIR + fi + fi + + rm -f $SERVER_TEST_FIFO + mkfifo $SERVER_TEST_FIFO + + rm -f $NMBD_TEST_LOG + echo -n "STARTING NMBD..." + (( + if test x"$NMBD_MAXTIME" = x; then + NMBD_MAXTIME=2700 + fi + MAKE_TEST_BINARY=$BINDIR/nmbd + export MAKE_TEST_BINARY + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 & + TIMELIMIT_NMBD_PID=$! + MAKE_TEST_BINARY= + echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid + wait $TIMELIMIT_NMBD_PID + ret=$?; + rm -f $SERVER_TEST_FIFO + if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + fi + if [ x"$ret" = x"0" ];then + echo "nmbd exits with status $ret"; + echo "nmbd exits with status $ret" >>$NMBD_TEST_LOG; + elif [ x"$ret" = x"137" ];then + echo "nmbd got SIGXCPU and exits with status $ret!" + echo "nmbd got SIGXCPU and exits with status $ret!">>$NMBD_TEST_LOG; + else + echo "nmbd failed with status $ret!" + echo "nmbd failed with status $ret!">>$NMBD_TEST_LOG; + fi + exit $ret; + ) || exit $? &) 2>/dev/null || exit $? + echo "DONE" + + rm -f $SMBD_TEST_LOG + echo -n "STARTING SMBD..." + (( + if test x"$SMBD_MAXTIME" = x; then + SMBD_MAXTIME=2700 + fi + MAKE_TEST_BINARY=$BINDIR/smbd + export MAKE_TEST_BINARY + timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 & + TIMELIMIT_SMBD_PID=$! + MAKE_TEST_BINARY= + echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid + wait $TIMELIMIT_SMBD_PID + ret=$?; + rm -f $SERVER_TEST_FIFO + if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + fi + if [ x"$ret" = x"0" ];then + echo "smbd exits with status $ret"; + echo "smbd exits with status $ret" >>$SMBD_TEST_LOG; + elif [ x"$ret" = x"137" ];then + echo "smbd got SIGXCPU and exits with status $ret!" + echo "smbd got SIGXCPU and exits with status $ret!">>$SMBD_TEST_LOG; + else + echo "smbd failed with status $ret!" + echo "smbd failed with status $ret!">>$SMBD_TEST_LOG; + fi + exit $ret; + ) || exit $? &) 2>/dev/null || exit $? + echo "DONE" + fi + return 0; +} + +samba3_nmbd_test_log() { + if [ -n "$NMBD_TEST_LOG" ];then + if [ -r "$NMBD_TEST_LOG" ];then + return 0; + fi + fi + return 1; +} + +samba3_smbd_test_log() { + if [ -n "$SMBD_TEST_LOG" ];then + if [ -r "$SMBD_TEST_LOG" ];then + return 0; + fi + fi + return 1; +} + +samba3_check_only() { + if [ -n "$SERVER_TEST_FIFO" ];then + if [ -p "$SERVER_TEST_FIFO" ];then + return 0; + fi + return 1; + fi + return 0; +} + +testit() { + if [ -z "$PREFIX" ]; then + PREFIX=test_prefix + mkdir -p $PREFIX + fi name=$1 - env=$2 - shift 2 + shift 1 + binary=$1 cmdline="$*" - echo "-- TEST --" - echo $name - echo $env - echo $cmdline + + SERVERS_ARE_UP="no" + + shname=`echo $name | \ + sed -e 's%[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\-]%_%g'` + + UNIQUE_PID=`/bin/sh -c 'echo $$'` + TEST_LOG="$PREFIX/test_log.${UNIQUE_PID}" + TEST_PCAP="$PREFIX/test_${shname}_${UNIQUE_PID}.pcap" + trap "rm -f $TEST_LOG $TEST_PCAP" EXIT + + if [ -z "$nmbd_log_size" ]; then + nmbd_log_size=`wc -l < $NMBD_TEST_LOG`; + fi + if [ -z "$smbd_log_size" ]; then + smbd_log_size=`wc -l < $SMBD_TEST_LOG`; + fi + + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "--==--==--==--==--==--==--==--==--==--==--" + echo "Running test $name (level 0 stdout)" + echo "--==--==--==--==--==--==--==--==--==--==--" + date + echo "Testing $name" + else + echo "Testing $name ($failed)" + fi + + samba3_check_only && SERVERS_ARE_UP="yes" + if [ x"$SERVERS_ARE_UP" != x"yes" ];then + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "SERVERS are down! Skipping: $cmdline" + echo "==========================================" + echo "TEST SKIPPED: $name (reason SERVERS are down)" + echo "==========================================" + else + echo "TEST SKIPPED: $name (reason SERVERS are down)" + fi + return 1 + fi + + if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then + SOCKET_WRAPPER_PCAP_FILE=$TEST_PCAP + export SOCKET_WRAPPER_PCAP_FILE + fi + + MAKE_TEST_BINARY=$binary + export MAKE_TEST_BINARY + ( $cmdline > $TEST_LOG 2>&1 ) + status=$? + MAKE_TEST_BINARY= + # show any additional output from smbd that has happened in this test + samba3_nmbd_test_log && { + new_log_size=`wc -l < $NMBD_TEST_LOG`; + test "$new_log_size" = "$nmbd_log_size" || { + echo "NMBD OUTPUT:"; + incr_log_size=`expr $new_log_size - $nmbd_log_size`; + tail -$incr_log_size $NMBD_TEST_LOG; + nmbd_log_size=$new_log_size; + } + } + samba3_smbd_test_log && { + new_log_size=`wc -l < $SMBD_TEST_LOG`; + test "$new_log_size" = "$smbd_log_size" || { + echo "SMBD OUTPUT:"; + incr_log_size=`expr $new_log_size - $smbd_log_size`; + tail -$incr_log_size $SMBD_TEST_LOG; + smbd_log_size=$new_log_size; + } + } + + if [ x"$status" != x"0" ]; then + echo "TEST OUTPUT:" + cat $TEST_LOG; + rm -f $TEST_LOG; + if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then + echo "TEST PCAP: $TEST_PCAP" + fi + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "==========================================" + echo "TEST FAILED: $name (status $status)" + echo "==========================================" + else + echo "TEST FAILED: $cmdline (status $status)" + fi + trap "" EXIT + return 1; + fi + rm -f $TEST_LOG; + if [ x"$MAKE_TEST_KEEP_PCAP" = x"yes" ];then + echo "TEST PCAP: $TEST_PCAP" + else + rm -f $TEST_PCAP; + fi + if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then + echo "ALL OK: $cmdline" + echo "==========================================" + echo "TEST PASSED: $name" + echo "==========================================" + fi + trap "" EXIT + return 0; +} + +testok() { + name=`basename $1` + failed=$2 + + if [ x"$failed" = x"0" ];then + : + else + echo "$failed TESTS FAILED or SKIPPED ($name)"; + fi + exit $failed } +teststatus() { + name=`basename $1` + failed=$2 + + if [ x"$failed" = x"0" ];then + echo "TEST STATUS: $failed"; + else + echo "TEST STATUS: $failed"; + fi + exit $failed +} + +if [ -z "$VALGRIND" ]; then + MALLOC_CHECK_=2 + export MALLOC_CHECK_ +fi + -- cgit From 702d227433e2f044796366cf28f5418f4b18debc Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 24 Oct 2007 13:18:42 +0200 Subject: make test: start winbindd metze (This used to be commit 8ad4287cca5393a7fef148365aef2e2377c29280) --- source3/script/tests/test_functions.sh | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index 1cc9ea1264..d707c30960 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -4,6 +4,9 @@ samba3_stop_sig_term() { kill -USR1 `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 || \ kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` || RET=$? + kill -USR1 `cat $PIDDIR/timelimit.winbindd.pid` >/dev/null 2>&1 || \ + kill -ALRM `cat $PIDDIR/timelimit.winbindd.pid` || RET=$? + kill -USR1 `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 || \ kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` || RET=$? @@ -12,6 +15,7 @@ samba3_stop_sig_term() { samba3_stop_sig_kill() { kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 + kill -ALRM `cat $PIDDIR/timelimit.winbindd.pid` >/dev/null 2>&1 kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 return 0; } @@ -69,6 +73,38 @@ samba3_check_or_start() { ) || exit $? &) 2>/dev/null || exit $? echo "DONE" + rm -f $WINBINDD_TEST_LOG + echo -n "STARTING WINBINDD..." + (( + if test x"$WINBINDD_MAXTIME" = x; then + WINBINDD_MAXTIME=2700 + fi + MAKE_TEST_BINARY=$BINDIR/winbindd + export MAKE_TEST_BINARY + timelimit $WINBINDD_MAXTIME $WINBINDD_VALGRIND $BINDIR/winbindd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $WINBINDD_TEST_LOG 2>&1 & + TIMELIMIT_WINBINDD_PID=$! + MAKE_TEST_BINARY= + echo $TIMELIMIT_WINBINDD_PID > $PIDDIR/timelimit.winbindd.pid + wait $TIMELIMIT_WINBINDD_PID + ret=$?; + rm -f $SERVER_TEST_FIFO + if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then + rm -f $SOCKET_WRAPPER_DIR/* + fi + if [ x"$ret" = x"0" ];then + echo "winbindd exits with status $ret"; + echo "winbindd exits with status $ret" >>$WINBINDD_TEST_LOG; + elif [ x"$ret" = x"137" ];then + echo "winbindd got SIGXCPU and exits with status $ret!" + echo "winbindd got SIGXCPU and exits with status $ret!">>$WINBINDD_TEST_LOG; + else + echo "winbindd failed with status $ret!" + echo "winbindd failed with status $ret!">>$WINBINDD_TEST_LOG; + fi + exit $ret; + ) || exit $? &) 2>/dev/null || exit $? + echo "DONE" + rm -f $SMBD_TEST_LOG echo -n "STARTING SMBD..." (( @@ -113,6 +149,15 @@ samba3_nmbd_test_log() { return 1; } +samba3_winbindd_test_log() { + if [ -n "$WINBINDD_TEST_LOG" ];then + if [ -r "$WINBINDD_TEST_LOG" ];then + return 0; + fi + fi + return 1; +} + samba3_smbd_test_log() { if [ -n "$SMBD_TEST_LOG" ];then if [ -r "$SMBD_TEST_LOG" ];then @@ -155,6 +200,9 @@ testit() { if [ -z "$nmbd_log_size" ]; then nmbd_log_size=`wc -l < $NMBD_TEST_LOG`; fi + if [ -z "$winbindd_log_size" ]; then + winbindd_log_size=`wc -l < $WINBINDD_TEST_LOG`; + fi if [ -z "$smbd_log_size" ]; then smbd_log_size=`wc -l < $SMBD_TEST_LOG`; fi @@ -202,6 +250,15 @@ testit() { nmbd_log_size=$new_log_size; } } + samba3_winbindd_test_log && { + new_log_size=`wc -l < $WINBINDD_TEST_LOG`; + test "$new_log_size" = "$winbindd_log_size" || { + echo "WINBINDD OUTPUT:"; + incr_log_size=`expr $new_log_size - $winbindd_log_size`; + tail -$incr_log_size $WINBINDD_TEST_LOG; + winbindd_log_size=$new_log_size; + } + } samba3_smbd_test_log && { new_log_size=`wc -l < $SMBD_TEST_LOG`; test "$new_log_size" = "$smbd_log_size" || { -- cgit From 52b463917e0a08bacc15b5d242952ba31e6339af Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 1 Apr 2008 13:45:55 +0200 Subject: test: be more portable. replace 'echo -n' by 'printf "%s"' in test_functions.sh Michael (This used to be commit c0c41184277044eb856f91c025f645c198cac188) --- source3/script/tests/test_functions.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source3/script/tests/test_functions.sh') diff --git a/source3/script/tests/test_functions.sh b/source3/script/tests/test_functions.sh index d707c30960..407d46aa9e 100644 --- a/source3/script/tests/test_functions.sh +++ b/source3/script/tests/test_functions.sh @@ -42,7 +42,7 @@ samba3_check_or_start() { mkfifo $SERVER_TEST_FIFO rm -f $NMBD_TEST_LOG - echo -n "STARTING NMBD..." + printf "%s" "STARTING NMBD..." (( if test x"$NMBD_MAXTIME" = x; then NMBD_MAXTIME=2700 @@ -74,7 +74,7 @@ samba3_check_or_start() { echo "DONE" rm -f $WINBINDD_TEST_LOG - echo -n "STARTING WINBINDD..." + printf "%s" "STARTING WINBINDD..." (( if test x"$WINBINDD_MAXTIME" = x; then WINBINDD_MAXTIME=2700 @@ -106,7 +106,7 @@ samba3_check_or_start() { echo "DONE" rm -f $SMBD_TEST_LOG - echo -n "STARTING SMBD..." + printf "%s" "STARTING SMBD..." (( if test x"$SMBD_MAXTIME" = x; then SMBD_MAXTIME=2700 -- cgit