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