BIND 10 master, updated. 3a4eb2476eb9f7569c293a70205a4d8226c817df [master] Merge branch 'trac3265'

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jan 23 17:07:19 UTC 2014


The branch, master has been updated
       via  3a4eb2476eb9f7569c293a70205a4d8226c817df (commit)
       via  6c8f7475059c3b6d9794970a30aefd20d48468ef (commit)
      from  75b6a1057c947a2aa8d2103e6dfb3cee65823d0f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3a4eb2476eb9f7569c293a70205a4d8226c817df
Merge: 75b6a10 6c8f747
Author: Marcin Siodelski <marcin at isc.org>
Date:   Thu Jan 23 18:06:43 2014 +0100

    [master] Merge branch 'trac3265'

-----------------------------------------------------------------------

Summary of changes:
 src/bin/d2/tests/dns_client_unittests.cc |   18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/d2/tests/dns_client_unittests.cc b/src/bin/d2/tests/dns_client_unittests.cc
index 1b4c2bd..0bfc4b4 100644
--- a/src/bin/d2/tests/dns_client_unittests.cc
+++ b/src/bin/d2/tests/dns_client_unittests.cc
@@ -263,8 +263,16 @@ public:
         ASSERT_NO_THROW(message.setRcode(Rcode(Rcode::NOERROR_CODE)));
         ASSERT_NO_THROW(message.setZone(Name("example.com"), RRClass::IN()));
 
-        // Set the response wait time to 0 so as our test is not hanging. This
-        // should cause instant timeout.
+        /// @todo The timeout value could be set to 0 to trigger timeout
+        /// instantly. However, it may lead to situations that the message sent
+        /// in one test will not be dropped by the kernel by the time, the next
+        /// test starts. This will lead to intermittent unit test errors as
+        /// described in the ticket http://bind10.isc.org/ticket/3265.
+        /// Increasing the timeout to a non-zero value mitigates this problem.
+        /// The proper way to solve this problem is to receive the packet
+        /// on our own and drop it. Such a fix will need to be applied not only
+        /// to this test but also for other tests that rely on arbitrary timeout
+        /// values.
         const int timeout = 500;
         // The doUpdate() function starts asynchronous message exchange with DNS
         // server. When message exchange is done or timeout occurs, the
@@ -324,8 +332,10 @@ public:
                                                   corrupt_response));
 
         // The socket is now ready to receive the data. Let's post some request
-        // message then.
-        const int timeout = 5;
+        // message then. Set timeout to some reasonable value to make sure that
+        // there is sufficient amount of time for the test to generate a
+        // response.
+        const int timeout = 500;
         expected_++;
         dns_client_->doUpdate(service_, IOAddress(TEST_ADDRESS), TEST_PORT,
                              message, timeout);



More information about the bind10-changes mailing list