[svn] commit: r2285 - /branches/trac192/src/lib/datasrc/tests/cache_unittest.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jun 25 23:42:20 UTC 2010


Author: jinmei
Date: Fri Jun 25 23:42:20 2010
New Revision: 2285

Log:
added a test to see cache entries are purged on destruction

Modified:
    branches/trac192/src/lib/datasrc/tests/cache_unittest.cc

Modified: branches/trac192/src/lib/datasrc/tests/cache_unittest.cc
==============================================================================
--- branches/trac192/src/lib/datasrc/tests/cache_unittest.cc (original)
+++ branches/trac192/src/lib/datasrc/tests/cache_unittest.cc Fri Jun 25 23:42:20 2010
@@ -66,6 +66,36 @@
     HotCache cache;
 };
 
+class TestRRset : public RRset {
+public:
+    TestRRset(const Name& name, int& counter) :
+        RRset(name, RRClass::IN(), RRType::A(), RRTTL(3600)),
+        counter_(counter)
+    {
+        ++counter_;
+    }
+    ~TestRRset() {
+        --counter_;
+    }
+    int& counter_;
+};
+
+// make sure any remaining cache entries are purged on destruction of the
+// cache.
+TEST_F(CacheTest, cleanup) {
+    HotCache* local_cache(new HotCache);
+    int num_rrsets = 0;
+
+    local_cache->addPositive(RRsetPtr(new TestRRset(Name("example.com"),
+                                                    num_rrsets)), 0, 10);
+    local_cache->addPositive(RRsetPtr(new TestRRset(Name("example.org"),
+                                                    num_rrsets)), 0, 10);
+
+    EXPECT_EQ(2, num_rrsets);
+    delete local_cache;
+    EXPECT_EQ(0, num_rrsets);
+}
+
 TEST_F(CacheTest, slots) {
     EXPECT_EQ(5, cache.getSlots());
     EXPECT_EQ(3, cache.getCount());




More information about the bind10-changes mailing list