Filters: fix "vacation" in Exim filter. Bug 2593
[users/heiko/exim.git] / test / scripts / 0000-Basic / 0548
index 7158ea58470ecd82d033bf801e37cdeda79c5ddd..a0a7fa0486e4c25083de8698aca0c523cc385df7 100644 (file)
@@ -2,6 +2,12 @@
 # In this test, the primary host (normal IP address) defers the recipient, and
 # the secondary host (loopback address) defers the connection.
 #
 # 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
 need_ipv4
 #
 exim -DSERVER=server -bd -oX PORT_D
@@ -9,20 +15,27 @@ exim -DSERVER=server -bd -oX PORT_D
 exim -odi userx@test.ex
 Test message
 ****
 exim -odi userx@test.ex
 Test message
 ****
+# defers from both
 dump retry
 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
 exim -q
 ****
 dump retry
-sleep 1
+millisleep 4200
+# This should be similar
 exim -q
 ****
 dump retry
 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.
 ****
 exim -odi usery@test.ex
 Test message 2.
 ****
-sleep 1
+dump retry
+millisleep 4000
 exim -q
 ****
 killdaemon
 exim -q
 ****
 killdaemon