BIND 10 trac1612, updated. bc65585535ce775f6a5cf8dae25dfbda98a489ae [1612] address review comments (style mostly)

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Mar 5 13:45:21 UTC 2012


The branch, trac1612 has been updated
       via  bc65585535ce775f6a5cf8dae25dfbda98a489ae (commit)
      from  184bd43c0451a18f9d7d792050c9089f8d329a1c (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 bc65585535ce775f6a5cf8dae25dfbda98a489ae
Author: Jelte Jansen <jelte at isc.org>
Date:   Mon Mar 5 14:44:43 2012 +0100

    [1612] address review comments (style mostly)
    
    indentation, spaces, and one loop instead of separate tests

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

Summary of changes:
 src/bin/auth/tests/auth_srv_unittest.cc |  124 +++++++++++--------------------
 1 files changed, 43 insertions(+), 81 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/auth/tests/auth_srv_unittest.cc b/src/bin/auth/tests/auth_srv_unittest.cc
index b89bf36..5a02f57 100644
--- a/src/bin/auth/tests/auth_srv_unittest.cc
+++ b/src/bin/auth/tests/auth_srv_unittest.cc
@@ -87,7 +87,11 @@ protected:
         server.setXfrinSession(&notify_session);
         server.setStatisticsSession(&statistics_session);
     }
+
     virtual void processMessage() {
+        // If processMessage has been called before, parse_message needs
+        // to be reset. If it hasn't, there's no harm in doing so
+        parse_message->clear(Message::PARSE);
         server.processMessage(*io_message, parse_message, response_obuffer,
                               &dnsserv);
     }
@@ -1058,13 +1062,13 @@ namespace {
 /// A the possible methods to throw in, either in FakeInMemoryClient or
 /// FakeZoneFinder
 enum ThrowWhen {
-    throw_never,
-    throw_at_find_zone,
-    throw_at_get_origin,
-    throw_at_get_class,
-    throw_at_find,
-    throw_at_find_all,
-    throw_at_find_nsec3
+    THROW_NEVER,
+    THROW_AT_FIND_ZONE,
+    THROW_AT_GET_ORIGIN,
+    THROW_AT_GET_CLASS,
+    THROW_AT_FIND,
+    THROW_AT_FIND_ALL,
+    THROW_AT_FIND_NSEC3
 };
 
 /// convenience function to check whether and what to throw
@@ -1097,13 +1101,13 @@ public:
 
     virtual isc::dns::Name
     getOrigin() const {
-        checkThrow(throw_at_get_origin, throw_when_, isc_exception_);
+        checkThrow(THROW_AT_GET_ORIGIN, throw_when_, isc_exception_);
         return (real_zone_finder_->getOrigin());
     }
 
     virtual isc::dns::RRClass
     getClass() const {
-        checkThrow(throw_at_get_class, throw_when_, isc_exception_);
+        checkThrow(THROW_AT_GET_CLASS, throw_when_, isc_exception_);
         return (real_zone_finder_->getClass());
     }
 
@@ -1112,22 +1116,22 @@ public:
          const isc::dns::RRType& type,
          isc::datasrc::ZoneFinder::FindOptions options)
     {
-        checkThrow(throw_at_find, throw_when_, isc_exception_);
+        checkThrow(THROW_AT_FIND, throw_when_, isc_exception_);
         return (real_zone_finder_->find(name, type, options));
     }
 
     virtual FindResult
     findAll(const isc::dns::Name& name,
-                               std::vector<isc::dns::ConstRRsetPtr> &target,
-                               const FindOptions options = FIND_DEFAULT)
+            std::vector<isc::dns::ConstRRsetPtr> &target,
+            const FindOptions options = FIND_DEFAULT)
     {
-        checkThrow(throw_at_find_all, throw_when_, isc_exception_);
+        checkThrow(THROW_AT_FIND_ALL, throw_when_, isc_exception_);
         return (real_zone_finder_->findAll(name, target, options));
     };
 
     virtual FindNSEC3Result
-    findNSEC3(const isc::dns::Name& name,bool recursive) {
-        checkThrow(throw_at_find_nsec3, throw_when_, isc_exception_);
+    findNSEC3(const isc::dns::Name& name, bool recursive) {
+        checkThrow(THROW_AT_FIND_NSEC3, throw_when_, isc_exception_);
         return (real_zone_finder_->findNSEC3(name, recursive));
     };
 
@@ -1166,13 +1170,13 @@ public:
 
     /// \brief proxy call for findZone
     ///
-    /// if this instance was constructed with throw_shen set to find_zone,
+    /// if this instance was constructed with throw_when set to find_zone,
     /// this method will throw. Otherwise, it will return a FakeZoneFinder
     /// instance which will throw at the method specified at the
     /// construction of this instance.
     virtual FindResult
     findZone(const isc::dns::Name& name) const {
-        checkThrow(throw_at_find_zone, throw_when_, isc_exception_);
+        checkThrow(THROW_AT_FIND_ZONE, throw_when_, isc_exception_);
         const FindResult result = real_client_->findZone(name);
         return (FindResult(result.code, isc::datasrc::ZoneFinderPtr(
                                         new FakeZoneFinder(result.zone_finder,
@@ -1198,7 +1202,7 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientProxy) {
 
     AuthSrv::InMemoryClientPtr fake_client(
         new FakeInMemoryClient(server.getInMemoryClient(rrclass),
-                               throw_never,
+                               THROW_NEVER,
                                false));
 
     ASSERT_NE(AuthSrv::InMemoryClientPtr(), server.getInMemoryClient(rrclass));
@@ -1237,41 +1241,33 @@ setupThrow(AuthSrv* server, const char *config, ThrowWhen throw_when,
     server->setInMemoryClient(isc::dns::RRClass::IN(), fake_client);
 }
 
-// Throw isc::Exception at findZone(), should result in SERVFAIL
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFindZone) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find_zone, true);
-    processAndCheckSERVFAIL();
-}
-
-// Throw std::exception at findZone(), should result in no answer
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFindZoneStdException) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find_zone, false);
-    processAndCheckSERVFAIL();
-}
-
-// Throw isc::Exception at getOrigin(), should result in SERVFAIL
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyGetOrigin) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_get_origin, true);
-    processAndCheckSERVFAIL();
-}
-
-// Throw std::exception at findZone(), should result in SERVFAIL
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyGetOriginStdException) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_get_origin, true);
-    processAndCheckSERVFAIL();
+TEST_F(AuthSrvTest, queryWithThrowingProxyServfails) {
+    // Test the common cases, all of which should simply return SERVFAIL
+    // Use THROW_NEVER as end marker
+    ThrowWhen throws[] = { THROW_AT_FIND_ZONE,
+                           THROW_AT_GET_ORIGIN,
+                           THROW_AT_FIND,
+                           THROW_AT_FIND_NSEC3,
+                           THROW_NEVER };
+    UnitTestUtil::createDNSSECRequestMessage(request_message, opcode,
+                                             default_qid, Name("foo.example."),
+                                             RRClass::IN(), RRType::TXT());
+    for (ThrowWhen* when(throws); *when != THROW_NEVER; ++when) {
+        createRequestPacket(request_message, IPPROTO_UDP);
+        setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, *when, true);
+        processAndCheckSERVFAIL();
+        // To be sure, check same for non-isc-exceptions
+        createRequestPacket(request_message, IPPROTO_UDP);
+        setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, *when, false);
+        processAndCheckSERVFAIL();
+    }
 }
 
 // Throw isc::Exception in getClass(). (Currently?) getClass is not called
 // in the processMessage path, so this should result in a normal answer
 TEST_F(AuthSrvTest, queryWithInMemoryClientProxyGetClass) {
     createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_get_class, true);
+    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, THROW_AT_GET_CLASS, true);
 
     // getClass is not called so it should just answer
     server.processMessage(*io_message, parse_message, response_obuffer,
@@ -1282,38 +1278,4 @@ TEST_F(AuthSrvTest, queryWithInMemoryClientProxyGetClass) {
                 opcode.getCode(), QR_FLAG | AA_FLAG, 1, 1, 2, 1);
 }
 
-// Throw isc::Exception in find(), should result in SERVFAIL
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFind) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find, true);
-    processAndCheckSERVFAIL();
-}
-
-// Throw std::exception at find(), should result in no answer
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFindStdException) {
-    createDataFromFile("nsec3query_nodnssec_fromWire.wire");
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find, false);
-    processAndCheckSERVFAIL();
-}
-
-// Throw isc::Exception in findNSEC3(), should result in SERVFAIL
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFindNSEC3) {
-    UnitTestUtil::createDNSSECRequestMessage(request_message, opcode,
-                                             default_qid, Name("foo.example."),
-                                             RRClass::IN(), RRType::TXT());
-    createRequestPacket(request_message, IPPROTO_UDP);
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find_nsec3, true);
-    processAndCheckSERVFAIL();
-}
-
-// Throw std::exception at findNSEC3(), should result in no answer
-TEST_F(AuthSrvTest, queryWithInMemoryClientProxyFindNSEC3StdException) {
-    UnitTestUtil::createDNSSECRequestMessage(request_message, opcode,
-                                             default_qid, Name("foo.example."),
-                                             RRClass::IN(), RRType::TXT());
-    createRequestPacket(request_message, IPPROTO_UDP);
-    setupThrow(&server, CONFIG_INMEMORY_EXAMPLE, throw_at_find_nsec3, false);
-    processAndCheckSERVFAIL();
-}
-
 }



More information about the bind10-changes mailing list