Browse Source

Merge branch 'trac3301'

Mukund Sivaraman 11 years ago
parent
commit
9bcad85c58
1 changed files with 34 additions and 28 deletions
  1. 34 28
      tests/lettuce/features/xfrin_notify_handling.feature

+ 34 - 28
tests/lettuce/features/xfrin_notify_handling.feature

@@ -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
@@ -283,16 +283,19 @@ Feature: Xfrin incoming notify handling
     config commit
     """
     last bindctl output should not contain Error
+    Then wait for new master stderr message XFROUT_NEW_CONFIG_DONE
 
     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
 
@@ -399,16 +402,19 @@ Feature: Xfrin incoming notify handling
     config commit
     """
     last bindctl output should not contain Error
+    Then wait for new master stderr message XFROUT_NEW_CONFIG_DONE
 
     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