Fix the race condition with fakesmtp so it works without needing retries.
[mmh] / test / mhmail / test-mhmail
index c11e193..3745207 100755 (executable)
@@ -21,31 +21,15 @@ fi
 # $4 contains the message body.
 test_mhmail ()
 {
-    "${MH_OBJ_DIR}/test/fakesmtp" "$actual" $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 0 1 2 3 4 5 6 7 8 9; do
-        if [ $3 = '|' ]; then
-          if printf '%s' "$4" | mhmail recipient@example.com $2 \
-             -server 127.0.0.1 -port $localport; then
-              status=0
-              break
-          fi
-        else
-          if mhmail recipient@example.com $2 -body "$4" \
-             -server 127.0.0.1 -port $localport; then
-              status=0
-              break
-          fi
-        fi
-        sleep 1
-    done
-    [ $status -eq 0 ] || exit 1
-
-    wait ${pid}
+    pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$actual" $localport`
+
+    if [ $3 = '|' ]; then
+       printf '%s' "$4" | mhmail recipient@example.com $2 \
+                       -server 127.0.0.1 -port $localport
+    else
+       mhmail recipient@example.com $2 -body "$4" \
+             -server 127.0.0.1 -port $localport
+    fi
 
     #
     # It's hard to calculate the exact Date: header post is going to
@@ -123,7 +107,7 @@ done
 printf 'inc: -version\n' >> $MH
 case `mhmail` in
   inc\ --*) ;;
-  *           ) echo "$0: mhmail generated unexpected output" 1>&2
+  *           ) echo "$0: mhmail generated unexpected output" >&2
                 failed=`expr ${failed:-0} + 1`;;
 esac