1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#!/bin/sh
#
# Common routines for the post tests
#
set -e
. "${MH_OBJ_DIR}/test/common.sh"
setup_test
arith_eval 64000 + `id -u` % 1000
localport=$arith_val
testname="${MH_TEST_DIR}/$$"
#
# Set this for the EHLO command
#
echo "clientname: nosuchhost.example.com" >> ${MHMTSCONF}
#
# One "post" test run. Ok, yeah, we're using "send", but that's just
# because it's easier.
# $1: output filename for fakesmtp, i.e., the sent message
# $2: expected output
# $3: optional switches for send
test_post ()
{ pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$1" $localport`
# The server doesn't always come up fast enough, so sleep and
# retry a few times if it fails...
status=1
for i in 0 1 2 3 4 5 6 7 8 9; do
if run_prog send -draft -server 127.0.0.1 -port $localport $3 ; then
status=0
break
fi
sleep 1
done
[ $status -eq 0 ] || exit 1
#
# It's hard to calculate the exact Date: header post is going to
# use, so we'll just use sed to remove the actual date so we can easily
# compare it against our "correct" output.
#
sed -e 's/^Date:.*/Date:/' "$1" > "$1".nodate
rm -f "$1"
check "$1".nodate "$2"
}
|