Fix the race condition with fakesmtp so it works without needing retries.
[mmh] / test / post / test-post-common.sh
index 4535ff8..3b1a3d0 100755 (executable)
@@ -26,27 +26,9 @@ echo "clientname: nosuchhost.example.com" >> ${MHMTSCONF}
 # $3: optional switches for send
 
 test_post ()
-{ "${MH_OBJ_DIR}/test/fakesmtp" "$1" $localport &
-    pid="$!"
-
-    # The server doesn't always come up fast enough, so sleep and
-    # retry a few times if it fails...
-    status=1
-    for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
-        if send -draft -server 127.0.0.1 -port $localport $3
-        then
-            status=0
-            break
-        fi
-        sleep 2
-    done
-    if [ $status -ne 0 ]; then
-      printf '%s: send failed, was fakesmtp given enough time to start?\n' \
-             "$0" >&2
-      exit 1
-    fi
-
-    wait ${pid}
+{ pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$1" $localport`
+
+    send -draft -server 127.0.0.1 -port $localport $3 || exit 1
 
     #
     # It's hard to calculate the exact Date: header post is going to