X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b2fb9dfa039340fb4776e36cb381d02fffacd608..fc0467751b02b9b35a41b8b87c3aaf2b61201a8e:/test/post/test-post-common.sh?ds=sidebyside diff --git a/test/post/test-post-common.sh b/test/post/test-post-common.sh index 7698b81c..1118d9cb 100755 --- a/test/post/test-post-common.sh +++ b/test/post/test-post-common.sh @@ -21,15 +21,28 @@ 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 () { "${MH_OBJ_DIR}/test/fakesmtp" "$1" $localport & pid="$!" - send -draft -server 127.0.0.1 -port $localport || exit 1 - - wait $! + # 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 send -draft -server 127.0.0.1 -port $localport $3 + then + status=0 + break + fi + sleep 1 + done + [ $status -eq 0 ] || exit 1 + + wait ${pid} # # It's hard to calculate the exact Date: header post is going to @@ -37,7 +50,8 @@ test_post () # compare it against our "correct" output. # - sed -i "" -e 's/^Date:.*/Date:/' "$1" + sed -e 's/^Date:.*/Date:/' "$1" > "$1".nodate + rm -f "$1" - check "$1" "$2" + check "$1".nodate "$2" }