]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[3301] Wait for new message XFRIN log messages
authorMukund Sivaraman <muks@isc.org>
Wed, 29 Jan 2014 07:03:07 +0000 (12:33 +0530)
committerMukund Sivaraman <muks@isc.org>
Wed, 29 Jan 2014 07:11:48 +0000 (12:41 +0530)
This reverts changes that were made in commit
199beea87baee4dd3d4339ec20c32d0d2cb47f40. It seems that commit removed
the wait for a "new" logged message, and introduced the regression in

Without waiting for a new log message, the check matches log messages
that were generated by initial AXFR during startup of the secondary
("bind10") instance.

tests/lettuce/features/xfrin_notify_handling.feature

index 0711eaab27d89fae3e11e7bc23d4aca94a3be829..99bfbb417319ac09b2de1e34653fa50694c410a4 100644 (file)
@@ -52,14 +52,14 @@ Feature: Xfrin incoming notify handling
     When I send bind10 with cmdctl port 56174 the command Xfrout notify example.org IN
     Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
     Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
-    # From this point we can't reliably 'wait for new' because the ordering
-    # of logs from different processes is unpredictable.  But these
-    # should be okay in this case.
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
-    Then wait for bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
-    Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
+    # Note: The following waits should be for *new* log messages, or
+    # they will match older log messages that were generated by AXFR
+    # during startup.
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
+    Then wait for new bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
+    Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
 
     A query for www.example.org to [::1]:56176 should have rcode NOERROR
     # Make sure handling statistics command handling checked below is
@@ -164,14 +164,14 @@ Feature: Xfrin incoming notify handling
     When I send bind10 with cmdctl port 56174 the command Xfrout notify example.org IN
     Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
     Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
-    # From this point we can't reliably 'wait for new' because the ordering
-    # of logs from different processes is unpredictable.  But these
-    # should be okay in this case.
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
-    Then wait for bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
-    Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
+    # Note: The following waits should be for *new* log messages, or
+    # they will match older log messages that were generated by AXFR
+    # during startup.
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
+    Then wait for new bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_SUCCESS
+    Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
 
     A query for www.example.org to 127.0.0.1:56176 should have rcode NOERROR
     # Make sure handling statistics command handling checked below is
@@ -288,12 +288,14 @@ Feature: Xfrin incoming notify handling
     When I send bind10 with cmdctl port 56174 the command Xfrout notify example.org IN
     Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
     Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
-    # can't use 'wait for new' below.
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_TRANSFER_SUCCESS
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
-    Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
+    # Note: The following waits should be for *new* log messages, or
+    # they will match older log messages that were generated by AXFR
+    # during startup.
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_TRANSFER_SUCCESS
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
+    Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
 
     A query for www.example.org to [::1]:56176 should have rcode NXDOMAIN
 
@@ -405,12 +407,14 @@ Feature: Xfrin incoming notify handling
     When I send bind10 with cmdctl port 56174 the command Xfrout notify example.org IN
     Then wait for new master stderr message XFROUT_NOTIFY_COMMAND
     Then wait for new bind10 stderr message AUTH_RECEIVED_NOTIFY
-    # can't use 'wait for new' below.
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
-    Then wait for bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_TRANSFER_SUCCESS
-    Then wait for bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
-    Then wait for master stderr message NOTIFY_OUT_REPLY_RECEIVED
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_NOTIFY
+    # Note: The following waits should be for *new* log messages, or
+    # they will match older log messages that were generated by AXFR
+    # during startup.
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_STARTED
+    Then wait for new bind10 stderr message XFRIN_XFR_TRANSFER_PROTOCOL_VIOLATION not XFRIN_TRANSFER_SUCCESS
+    Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED not ZONEMGR_RECEIVE_XFRIN_SUCCESS
+    Then wait for new master stderr message NOTIFY_OUT_REPLY_RECEIVED
 
     A query for www.example.org to 127.0.0.1:56176 should have rcode NXDOMAIN