Check-in Number:
|
967 | |
Date: |
2001-Sep-13 09:37:40 (local)
2001-Sep-13 07:37:40 (UTC) |
User: | thl |
Branch: | |
Comment: |
revamped test suite for public release |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-pkg/lmtp2nntp/Makefile.in 1.17 -> 1.18
--- Makefile.in 2001/09/12 08:16:36 1.17
+++ Makefile.in 2001/09/13 07:37:40 1.18
@@ -89,7 +89,10 @@
clean:
@$(MAKE) $(MFLAGS) _SUBDIRS_clean
-rm -f *.core
- -rm -f dmalloc.log test/dmalloc.log
+ -rm -f dmalloc.log
+ -rm -f test/*.core
+ -rm -f test/dmalloc.log test/sum.dmalloc.log
+ -rm -f test/stdin test/stdout test/stderr test/stdlog
-rm -f $(PROG)
-rm -f $(OBJS)
|
|
ossp-pkg/lmtp2nntp/test/.cvsignore 1.3 -> 1.4
--- .cvsignore 2001/09/12 14:23:06 1.3
+++ .cvsignore 2001/09/13 07:37:41 1.4
@@ -1,5 +1,5 @@
dmalloc.log
-logfile
+sum.dmalloc.log
stdin
stdout
stderr
|
|
ossp-pkg/lmtp2nntp/test/run.sh 1.16 -> 1.17
--- run.sh 2001/09/12 14:23:06 1.16
+++ run.sh 2001/09/13 07:37:41 1.17
@@ -1,53 +1,12 @@
#/bin/sh
-# -h news-muc1.de.cw.net
-# -h news-ffm2.de.cw.net
-# -h news-dus2.de.cw.net
-# -h news.ecrc.de
-# -h dev16
-
-post1000 ()
-{
- for h in 0 1 2 3 4 5 6 7 8 9
- do
- for z in 0 1 2 3 4 5 6 7 8 9
- do
- for e in 0 1 2 3 4 5 6 7 8 9
- do
- echo -n $h$z$e
- newmsg sendmail
- cat $STDIN \
- | sendmail -i posting+$h$z$e@dev12.dev.de.cw.net
- done
- done
- done
-}
-
-lmtp()
-{
- newmsg lmtp
- cat $STDIN \
- | ../lmtp2nntp -l $1:$FILE -w 1 -d $2 -g $2 -b dev12 -h dev16,141.1.23.116:nntp -h dev16.de.cw.net:119 $3 >/dev/null; echo $?
- #| ../lmtp2nntp -l $1:$FILE -w 1 -d 255/2.5.5 -g $3 -b 127.0.0.1 $4 >/dev/null; echo $?
- #| ../lmtp2nntp -l $1:$FILE -w 1 -d $2 -g $3 -b 127.0.0.1 -h 127.0.0.2 $4 >/dev/null; echo $?
-}
-
-sendmaildup()
-{
- newmsg sendmail
- cat $STDIN \
- | sendmail -i posting+cw.de.sd.apps.dev.test@dev12.dev.de.cw.net
- cat $STDIN \
- | sendmail -i posting+cw.de.sd.apps.dev.test@dev12.dev.de.cw.net
-}
-
newmsg()
{
- if [ -r testmessage.via$1 ]
+ if [ -r testmessage.via${1} ]
then
- awk <testmessage.via$1 \
+ awk <testmessage.via${1} \
-v pid=$$ \
- -v id=I${h}${z}${e}D \
+ -v id=I${H}${Z}${E}D \
-v date=`date +%Y%m%d%H%M%S` \
'
BEGIN { gotit = 0; IGNORECASE = 1 }
@@ -55,53 +14,42 @@
/^Message-ID:/ { gotit = 1; print "Message-Id: <" date "-" id "@dev12.dev.de.cw.net>" }
/^Subject:/ { gotit = 1; print "Subject: [" pid "] " $2 }
{ if (gotit == 0) { print }; gotit = 0 }
- ' | tee 2>&1 >/dev/null $STDIN
+ ' | tee 2>&1 >/dev/null ${STDIN}
else
- echo "ERROR: file testmessage.via$1 not readable!"
+ echo "ERROR: file testmessage.via${1} not readable!"
exit 1
fi
}
prolog ()
{
- h="H"
- z="Z"
- e="E"
+ H="0"; Z="0"; E="0"; #HZE used for mass-tests with uniq IDs
- for i in $FILE $STDIN $STDOUT $STDERR dmalloc.log
+ for i in ${FILE} ${STDIN} ${STDOUT} ${STDERR} dmalloc.log
do
- if [ -e $i ]; then
- rm -f $i
+ if [ -e ${i} ]; then
+ rm -f ${i}
fi
- touch $i
- chmod 666 $i
+ touch ${i}
+ chmod 666 ${i}
done
}
epilog ()
{
- if [ -r $FILE ]
- then
- read DUMMY
- less -S $FILE
- fi
-
- if [ -r dmalloc.log ]
- then
+ for i in ${FILE} ${STDIN} ${STDOUT} ${STDERR} dmalloc.log
+ do
+ if [ -r ${i} ]; then
+ echo -n "press RETURN to see the contents of ${i}"
read DUMMY
- less -S dmalloc.log
+ less -S ${i}
fi
+ done
}
-# lmtp feed arg
-# lmtp post envelope '*.test.* cw.*.dev.*'
-# lmtp post header '*.test.* cw.*.dev.* *foo*'
-# lmtp feed envelope
-# lmtp post envelope
-# sendmaildup
-# post1000
+#main ()
- LOG="trace"
+ LOG="notice"
FILE="stdlog"
STDIN="stdin"
STDOUT="stdout"
@@ -114,67 +62,141 @@
# make check with automatic succeed/ fail message.
# more samples and testing below.
-newmsg lmtp
-# check -v option prints out version, typical output: lmtp2nntp 0.9.4
-# (30-Aug-2001)
+echo -n "check: -v verbose "
+# expected sample output: lmtp2nntp 0.9.4 (30-Aug-2001)
prolog
-../lmtp2nntp -v >$STDOUT 2>$STDERR
-RC=`cat $STDOUT | egrep 'lmtp2nntp[ ]+[0-9]+\.[0-9]\.[0-9][ ]+\([0-9]+-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-[0-9]{4}\)' | wc -l`
-if [ $RC -ne 1 -o -s $STDERR ]; then
- echo "CHECK ERROR: version test failed $RC"
+newmsg lmtp
+../lmtp2nntp -v >${STDOUT} 2>${STDERR}
+RC=`cat ${STDOUT} | egrep 'lmtp2nntp[ ]+[0-9]+\.[0-9]\.[0-9][ ]+\([0-9]+-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-[0-9]{4}\)' | wc -l`
+if [ ${RC} -ne 1 -o -s ${STDERR} ]; then
+ echo "ERROR (got ${RC})"
exit 1;
fi
-echo "CHECK version test succeeded"
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-# check -? option prints out usage, typical output: USAGE: ../lmtp2nntp
+echo -n "check: -? usage "
+# expected typical output: USAGE: ../lmtp2nntp
# lmtp2nntp [-b bindaddr[:port]] [-d deliverymode] [-g groupmode] [-h
# host[:port][,host[:port], ...]] [-m mailfrom] [-n nodename] [-s size] [-l
# level[:logfile]] [-v] [-w waittime] newsgroup [newsgroup ...]
prolog
-../lmtp2nntp -? >$STDOUT 2>$STDERR
-RC=`cat $STDERR | egrep -- '-b.*-d.*-g.*-h.*-m.*-n.*-s.*-l.*-v.*-w.*newsgroup' | wc -l`
-if [ $RC -ne 1 -o -s $STDOUT ]; then
- echo "CHECK ERROR: usage test failed"
+newmsg lmtp
+../lmtp2nntp -? >${STDOUT} 2>${STDERR}
+RC=`cat ${STDERR} | egrep -- '-b.*-d.*-g.*-h.*-m.*-n.*-s.*-l.*-v.*-w.*newsgroup' | wc -l`
+if [ ${RC} -ne 1 -o -s ${STDOUT} ]; then
+ echo "ERROR (got ${RC})"
exit 1;
fi
-echo "CHECK usage test succeeded"
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-# check dummy posting
-#set -v -x
+echo -n "check: -- valid fake posting "
prolog
newmsg lmtp
-../lmtp2nntp <$STDIN -b $LOCAL -d 250/2.0.0 -g arg -h $HOST -l $LOG:$FILE -m "$MFILT" -n $NODE -s 1000 -w 1 $GROUP >$STDOUT 2>$STDERR ; RC=$
-set +v +x
+../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g arg -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 1000 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$
RC="";
-if [ 1 -eq `cat $STDOUT | egrep '^220[ ]+LMTP Service ready' | wc -l` ]; then RC="${RC}LHLO "; fi
-if [ 1 -eq `cat $STDOUT | egrep '^250 2.1.0 Sender ok' | wc -l` ]; then RC="${RC}MAIL "; fi
-if [ 3 -eq `cat $STDOUT | egrep '^250 2.1.5 Recipient accepted' | wc -l` ]; then RC="${RC}RCPT "; fi
-if [ 1 -eq `cat $STDOUT | egrep '^354 Enter mail' | wc -l` ]; then RC="${RC}DATA "; fi
-if [ 3 -eq `cat $STDOUT | egrep '^250-2.0.0 NNTP noop fake' | wc -l` ]; then RC="${RC}post "; fi
-if [ 1 -eq `cat $STDOUT | egrep '^221 2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi
-if [ "$RC" != "LHLO MAIL RCPT DATA post QUIT " ]; then
- echo "CHECK ERROR: fake post test failed"
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -]2.1.0 Sender ok' | wc -l` ]; then RC="${RC}MAIL "; fi
+if [ 3 -eq `egrep <${STDOUT} '^250[ -]2.1.5 Recipient accepted' | wc -l` ]; then RC="${RC}RCPT "; fi
+if [ 1 -eq `egrep <${STDOUT} '^354[ -]Enter mail' | wc -l` ]; then RC="${RC}DATA "; fi
+if [ 3 -eq `egrep <${STDOUT} '^250[ -]2.0.0 NNTP noop fake' | wc -l` ]; then RC="${RC}post "; fi
+if [ 1 -eq `egrep <${STDOUT} '^221[ -]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi
+if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then
+ echo "ERROR (got ${RC})"
exit 1;
fi
-echo "CHECK fake post test succeeded"
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-echo "CHECK COMPLETE AND PASSED"
-exit 0
+echo -n "check: -m fake posting invalid sender "
+prolog
+newmsg lmtp
+( MFILT=".*@is.invalid" ; ../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g arg -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 1000 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$?
+RC="";
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -].+pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi
+if [ 1 -eq `egrep <${STDOUT} '^550[ -]5.7.1.+not authorized' | wc -l` ]; then RC="${RC}MAIL "; fi
+if [ 3 -eq `egrep <${STDOUT} '^503[ -]5.5.0.+MAIL first' | wc -l` ]; then RC="${RC}RCPT "; fi
+if [ 1 -eq `egrep <${STDOUT} '^503[ -]5.5.0.+RCPT first' | wc -l` ]; then RC="${RC}DATA "; fi
+if [ 0 -lt `egrep <${STDOUT} '^500[ -]5.5.1.+unrecognized' | wc -l` ]; then RC="${RC}post "; fi
+if [ 1 -eq `egrep <${STDOUT} '^221[ -]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi
+if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then
+ echo "ERROR (got ${RC})"
+ exit 1;
+fi
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-#
-# BELOW ARE INTERAL TESTS. CONSIDER THEM AS EXAMPLE.
-#
- HOST="dev16,141.1.23.116:nntp -h dev16.de.cw.net:119"
- GROUP="cw.de.sd.apps.dev.test"
-newmsg lmtp
-../lmtp2nntp <$STDIN -b $LOCAL -d post -g arg -h $HOST -l $LOG:$FILE -m "$MFILT" -n $NODE -s 1000 -w 1 $GROUP >$STDOUT 2>$STDERR ; RC=$
-#./lmtp2nntp <$STDIN -b $LOCAL -d 250/2.0.0 -g arg -h $HOST -l $LOG:$FILE -m "$MFILT" -n $NODE -s 1000 -w 1 $GROUP >$STDOUT 2>$STDERR ; RC=$
-/dev/null; echo $?
+echo -n "check: -s fake posting invalid size "
+prolog
+newmsg lmtp
+../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g arg -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 100 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ; RC=$?
+RC="";
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -]2.1.0 Sender ok' | wc -l` ]; then RC="${RC}MAIL "; fi
+if [ 3 -eq `egrep <${STDOUT} '^250[ -]2.1.5 Recipient accepted' | wc -l` ]; then RC="${RC}RCPT "; fi
+if [ 1 -eq `egrep <${STDOUT} '^354[ -]Enter mail' | wc -l` ]; then RC="${RC}DATA "; fi
+if [ 3 -eq `egrep <${STDOUT} '^552[ -]5.2.3.+exceeds.+limit' | wc -l` ]; then RC="${RC}post "; fi
+if [ 1 -eq `egrep <${STDOUT} '^221[ -]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi
+if [ "${RC}" != "init LHLO MAIL RCPT DATA post QUIT " ]; then
+ echo "ERROR (got ${RC})"
+ exit 1;
+fi
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-#newmsg sendmail
-# sendmail -i <$STDIN -V nase123baer posting+$GROUP@$LOCAL
+echo -n "check: -b with invalid address "
+prolog
+newmsg lmtp
+( LOCAL="127.0.0.255" ; ../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g arg -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 1000 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$?
+RC="";
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${FILE} 'error.+binding.+49' | wc -l` ]; then RC="${RC}bind "; fi
+if [ "${RC}" != "init bind " ]; then
+ echo "ERROR (got ${RC})"
+ exit 1;
+fi
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
-after
-exit 0
+echo -n "check: -g envelope with invalid group "
+prolog
+newmsg lmtp
+( GROUP="foo.*" ; ../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g envelope -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 1000 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$?
+RC="";
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -].*pleased to meet you' | wc -l` ]; then RC="${RC}LHLO "; fi
+if [ 1 -eq `egrep <${STDOUT} '^250[ -]2.1.0 Sender ok' | wc -l` ]; then RC="${RC}MAIL "; fi
+if [ 1 -eq `egrep <${STDOUT} '^550[ -]5.7.2 unmatched Group' | wc -l` ]; then RC="${RC}RCPT "; fi
+if [ 2 -eq `egrep <${STDOUT} '^250[ -]2.1.5 Group accepted' | wc -l` ]; then RC="${RC}RCPT "; fi
+if [ 1 -eq `egrep <${STDOUT} '^354[ -]Enter mail' | wc -l` ]; then RC="${RC}DATA "; fi
+if [ 2 -eq `egrep <${STDOUT} '^250[ -]2.0.0 NNTP noop fake' | wc -l` ]; then RC="${RC}post "; fi
+if [ 1 -eq `egrep <${STDOUT} '^221[ -]2.0.0.+closing.+channel' | wc -l` ]; then RC="${RC}QUIT "; fi
+if [ "${RC}" != "init LHLO MAIL RCPT RCPT DATA post QUIT " ]; then
+ echo "ERROR (got ${RC})"
+ exit 1;
+fi
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
+echo -n "check: -h fake posting to invalid host "
+prolog
+newmsg lmtp
+( HOST="127.0.0.255" ; ../lmtp2nntp <${STDIN} -b ${LOCAL} -d 250/2.0.0 -g arg -h ${HOST} -l ${LOG}:${FILE} -m "${MFILT}" -n ${NODE} -s 1000 -w 1 ${GROUP} >${STDOUT} 2>${STDERR} ) ; RC=$?
+RC="";
+if [ 1 -eq `egrep <${STDOUT} '^220[ -]LMTP Service ready' | wc -l` ]; then RC="${RC}init "; fi
+if [ 1 -eq `egrep <${FILE} 'warning.+connect.+failed' | wc -l` ]; then RC="${RC}conn "; fi
+if [ "${RC}" != "init conn " ]; then
+ echo "ERROR (got ${RC})"
+ exit 1;
+fi
+echo "succeeded"
+egrep <dmalloc.log -C 'not freed' >>sum.dmalloc.log
+
+echo "CHECK COMPLETE AND PASSED"
+#epilog
+exit 0
|
|
ossp-pkg/lmtp2nntp/test/testmessage.foldlinesvialmtp 1.2 -> 1.3
ossp-pkg/lmtp2nntp/test/testmessage.viasendmail 1.3 -> 1.4
ossp-pkg/lmtp2nntp/test/triplecheck.sh 1.1 -> 1.2