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