[svn] commit: r1128 - in /trunk/src/lib/auth: datasrc_unittest.cc unittest_ds.cc unittest_ds.h

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Mar 5 09:21:42 UTC 2010


Author: jinmei
Date: Fri Mar  5 09:21:42 2010
New Revision: 1128

Log:
define TestDataSrc::init() to avoid initialization ordering problems
for some non local objects

Modified:
    trunk/src/lib/auth/datasrc_unittest.cc
    trunk/src/lib/auth/unittest_ds.cc
    trunk/src/lib/auth/unittest_ds.h

Modified: trunk/src/lib/auth/datasrc_unittest.cc
==============================================================================
--- trunk/src/lib/auth/datasrc_unittest.cc (original)
+++ trunk/src/lib/auth/datasrc_unittest.cc Fri Mar  5 09:21:42 2010
@@ -45,8 +45,9 @@
 
 class DataSrcTest : public ::testing::Test {
 protected:
-    DataSrcTest() : obuffer(0), renderer(obuffer), msg(Message::PARSE)
-    {}
+    DataSrcTest() : obuffer(0), renderer(obuffer), msg(Message::PARSE) {
+        ds.init();
+    }
     OutputBuffer obuffer;
     MessageRenderer renderer;
     Message msg;

Modified: trunk/src/lib/auth/unittest_ds.cc
==============================================================================
--- trunk/src/lib/auth/unittest_ds.cc (original)
+++ trunk/src/lib/auth/unittest_ds.cc Fri Mar  5 09:21:42 2010
@@ -95,7 +95,12 @@
 RRsetPtr loop2_cname;
 }
 
-TestDataSrc::TestDataSrc() {
+DataSrc::Result
+TestDataSrc::init() {
+    if (initialized) {
+        return (SUCCESS);
+    }
+
     RRset* rp;
     RRsetPtr rrsig;
 
@@ -403,6 +408,9 @@
     loop2_cname = RRsetPtr(new RRset(loop2, RRClass::IN(), RRType::CNAME(),
                                      RRTTL(3600)));
     loop2_cname->addRdata(generic::CNAME(loop1));
+
+    initialized = true;
+    return (SUCCESS);
 }
 
 void

Modified: trunk/src/lib/auth/unittest_ds.h
==============================================================================
--- trunk/src/lib/auth/unittest_ds.h (original)
+++ trunk/src/lib/auth/unittest_ds.h Fri Mar  5 09:21:42 2010
@@ -44,7 +44,7 @@
     TestDataSrc(const TestDataSrc& source);
     TestDataSrc operator=(const TestDataSrc& source); 
 public:
-    TestDataSrc();
+    TestDataSrc() : initialized(false) {}
     ~TestDataSrc() {}
     //@}
 
@@ -91,10 +91,11 @@
                              const isc::dns::Name& zonename,
                              isc::dns::RRsetList& target) const;
 
-    Result init() { return (SUCCESS); }
+    Result init();
     Result close() { return (SUCCESS); }
 
 private:
+    bool initialized;
     enum Mode {
         NORMAL,
         ADDRESS,




More information about the bind10-changes mailing list