2 samba3_stop_sig_term() {
4 kill -USR1 `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1 || \
5 kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` || RET=$?
7 kill -USR1 `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1 || \
8 kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` || RET=$?
13 samba3_stop_sig_kill() {
14 kill -ALRM `cat $PIDDIR/timelimit.nmbd.pid` >/dev/null 2>&1
15 kill -ALRM `cat $PIDDIR/timelimit.smbd.pid` >/dev/null 2>&1
19 samba3_check_or_start() {
20 if [ -n "$SERVER_TEST_FIFO" ];then
22 trap samba3_stop_sig_kill INT QUIT
23 trap samba3_stop_sig_kill TERM
25 if [ -p "$SERVER_TEST_FIFO" ];then
29 if [ -n "$SOCKET_WRAPPER_DIR" ];then
30 if [ -d "$SOCKET_WRAPPER_DIR" ]; then
31 rm -f $SOCKET_WRAPPER_DIR/*
33 mkdir -p $SOCKET_WRAPPER_DIR
37 rm -f $SERVER_TEST_FIFO
38 mkfifo $SERVER_TEST_FIFO
41 echo -n "STARTING NMBD..."
43 if test x"$NMBD_MAXTIME" = x; then
46 MAKE_TEST_BINARY=$BINDIR/nmbd
47 export MAKE_TEST_BINARY
48 timelimit $NMBD_MAXTIME $NMBD_VALGRIND $BINDIR/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $NMBD_TEST_LOG 2>&1 &
51 echo $TIMELIMIT_NMBD_PID > $PIDDIR/timelimit.nmbd.pid
52 wait $TIMELIMIT_NMBD_PID
54 rm -f $SERVER_TEST_FIFO
55 if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then
56 rm -f $SOCKET_WRAPPER_DIR/*
58 if [ x"$ret" = x"0" ];then
59 echo "nmbd exits with status $ret";
60 echo "nmbd exits with status $ret" >>$NMBD_TEST_LOG;
61 elif [ x"$ret" = x"137" ];then
62 echo "nmbd got SIGXCPU and exits with status $ret!"
63 echo "nmbd got SIGXCPU and exits with status $ret!">>$NMBD_TEST_LOG;
65 echo "nmbd failed with status $ret!"
66 echo "nmbd failed with status $ret!">>$NMBD_TEST_LOG;
69 ) || exit $? &) 2>/dev/null || exit $?
73 echo -n "STARTING SMBD..."
75 if test x"$SMBD_MAXTIME" = x; then
78 MAKE_TEST_BINARY=$BINDIR/smbd
79 export MAKE_TEST_BINARY
80 timelimit $SMBD_MAXTIME $SMBD_VALGRIND $BINDIR/smbd -F -S --no-process-group -d0 -s $SERVERCONFFILE > $SMBD_TEST_LOG 2>&1 &
83 echo $TIMELIMIT_SMBD_PID > $PIDDIR/timelimit.smbd.pid
84 wait $TIMELIMIT_SMBD_PID
86 rm -f $SERVER_TEST_FIFO
87 if [ -n "$SOCKET_WRAPPER_DIR" -a -d "$SOCKET_WRAPPER_DIR" ]; then
88 rm -f $SOCKET_WRAPPER_DIR/*
90 if [ x"$ret" = x"0" ];then
91 echo "smbd exits with status $ret";
92 echo "smbd exits with status $ret" >>$SMBD_TEST_LOG;
93 elif [ x"$ret" = x"137" ];then
94 echo "smbd got SIGXCPU and exits with status $ret!"
95 echo "smbd got SIGXCPU and exits with status $ret!">>$SMBD_TEST_LOG;
97 echo "smbd failed with status $ret!"
98 echo "smbd failed with status $ret!">>$SMBD_TEST_LOG;
101 ) || exit $? &) 2>/dev/null || exit $?
107 samba3_nmbd_test_log() {
108 if [ -n "$NMBD_TEST_LOG" ];then
109 if [ -r "$NMBD_TEST_LOG" ];then
116 samba3_smbd_test_log() {
117 if [ -n "$SMBD_TEST_LOG" ];then
118 if [ -r "$SMBD_TEST_LOG" ];then
125 samba3_check_only() {
126 if [ -n "$SERVER_TEST_FIFO" ];then
127 if [ -p "$SERVER_TEST_FIFO" ];then
136 if [ -z "$PREFIX" ]; then
147 shname=`echo $name | \
148 sed -e 's%[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\-]%_%g'`
150 UNIQUE_PID=`/bin/sh -c 'echo $$'`
151 TEST_LOG="$PREFIX/test_log.${UNIQUE_PID}"
152 TEST_PCAP="$PREFIX/test_${shname}_${UNIQUE_PID}.pcap"
153 trap "rm -f $TEST_LOG $TEST_PCAP" EXIT
155 if [ -z "$nmbd_log_size" ]; then
156 nmbd_log_size=`wc -l < $NMBD_TEST_LOG`;
158 if [ -z "$smbd_log_size" ]; then
159 smbd_log_size=`wc -l < $SMBD_TEST_LOG`;
162 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
163 echo "--==--==--==--==--==--==--==--==--==--==--"
164 echo "Running test $name (level 0 stdout)"
165 echo "--==--==--==--==--==--==--==--==--==--==--"
169 echo "Testing $name ($failed)"
172 samba3_check_only && SERVERS_ARE_UP="yes"
173 if [ x"$SERVERS_ARE_UP" != x"yes" ];then
174 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
175 echo "SERVERS are down! Skipping: $cmdline"
176 echo "=========================================="
177 echo "TEST SKIPPED: $name (reason SERVERS are down)"
178 echo "=========================================="
180 echo "TEST SKIPPED: $name (reason SERVERS are down)"
185 if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then
186 SOCKET_WRAPPER_PCAP_FILE=$TEST_PCAP
187 export SOCKET_WRAPPER_PCAP_FILE
190 MAKE_TEST_BINARY=$binary
191 export MAKE_TEST_BINARY
192 ( $cmdline > $TEST_LOG 2>&1 )
195 # show any additional output from smbd that has happened in this test
196 samba3_nmbd_test_log && {
197 new_log_size=`wc -l < $NMBD_TEST_LOG`;
198 test "$new_log_size" = "$nmbd_log_size" || {
200 incr_log_size=`expr $new_log_size - $nmbd_log_size`;
201 tail -$incr_log_size $NMBD_TEST_LOG;
202 nmbd_log_size=$new_log_size;
205 samba3_smbd_test_log && {
206 new_log_size=`wc -l < $SMBD_TEST_LOG`;
207 test "$new_log_size" = "$smbd_log_size" || {
209 incr_log_size=`expr $new_log_size - $smbd_log_size`;
210 tail -$incr_log_size $SMBD_TEST_LOG;
211 smbd_log_size=$new_log_size;
215 if [ x"$status" != x"0" ]; then
219 if [ x"$MAKE_TEST_ENABLE_PCAP" = x"yes" ];then
220 echo "TEST PCAP: $TEST_PCAP"
222 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
223 echo "=========================================="
224 echo "TEST FAILED: $name (status $status)"
225 echo "=========================================="
227 echo "TEST FAILED: $cmdline (status $status)"
233 if [ x"$MAKE_TEST_KEEP_PCAP" = x"yes" ];then
234 echo "TEST PCAP: $TEST_PCAP"
238 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
239 echo "ALL OK: $cmdline"
240 echo "=========================================="
241 echo "TEST PASSED: $name"
242 echo "=========================================="
252 if [ x"$failed" = x"0" ];then
255 echo "$failed TESTS FAILED or SKIPPED ($name)";
264 if [ x"$failed" = x"0" ];then
265 echo "TEST STATUS: $failed";
267 echo "TEST STATUS: $failed";
272 if [ -z "$VALGRIND" ]; then