Fix the race condition with fakesmtp so it works without needing retries.
[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 # $1: output filename for fakesmtp, i.e., the sent message
25 # $2: expected output
26 # $3: optional switches for send
27
28 test_post ()
29 { pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$1" $localport`
30
31     send -draft -server 127.0.0.1 -port $localport $3 || exit 1
32
33     #
34     # It's hard to calculate the exact Date: header post is going to
35     # use, so we'll just use sed to remove the actual date so we can easily
36     # compare it against our "correct" output.
37     #
38
39     sed -e 's/^Date:.*/Date:/' "$1" > "$1".nodate
40     rm -f "$1"
41
42     check "$1".nodate "$2"
43 }