# In this test, the primary host (normal IP address) defers the recipient, and
# the secondary host (loopback address) defers the connection.
#
+#XXX the test is relying on one-second accuracy, which is too tight.
+# The measured time is only one-second precision, so certain to sometime
+# straddle a boundary, even ignoring scheduling and I/O-wait issues.
+# Consider a factor of (?) two, in the retry section of the conf/ file
+# and +1 /2 after the diff operation (runtest:463).
+#
need_ipv4
#
exim -DSERVER=server -bd -oX PORT_D
exim -odi userx@test.ex
Test message
****
+# defers from both
dump retry
-sleep 2
-# At this point, the secondary host should have timed out
+millisleep 4200
+# At this point, the primary host retry rule ehould have timed out
+# and the secondary is ready for a retry
exim -q
****
dump retry
-sleep 1
+millisleep 4200
+# This should be similar
exim -q
****
dump retry
+# with luck this is tried within a second after the previous
+# so the primary gets tried (it's a new RCPT so the existing retry record is irrelevant)
+# but the secondary is not yet ready for a retry (host record)
exim -odi usery@test.ex
Test message 2.
****
-sleep 1
+dump retry
+millisleep 4000
exim -q
****
killdaemon