[svn] commit: r1423 - in /trunk/src/lib/dns: rrsetlist.cc rrsetlist.h tests/rrsetlist_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Mar 15 22:10:23 UTC 2010
Author: jinmei
Date: Mon Mar 15 22:10:22 2010
New Revision: 1423
Log:
cleanup: removed unused methods
Modified:
trunk/src/lib/dns/rrsetlist.cc
trunk/src/lib/dns/rrsetlist.h
trunk/src/lib/dns/tests/rrsetlist_unittest.cc
Modified: trunk/src/lib/dns/rrsetlist.cc
==============================================================================
--- trunk/src/lib/dns/rrsetlist.cc (original)
+++ trunk/src/lib/dns/rrsetlist.cc Mon Mar 15 22:10:22 2010
@@ -16,13 +16,14 @@
#include <vector>
-#include <boost/shared_ptr.hpp>
#include <boost/foreach.hpp>
+#include <exceptions/exceptions.h>
+
+#include "rrclass.h"
+#include "rrtype.h"
+#include "rrset.h"
#include "rrsetlist.h"
-
-using namespace std;
-using namespace isc::dns;
namespace isc {
namespace dns {
@@ -33,20 +34,11 @@
ConstRRsetPtr rrset_found = findRRset(rrsetptr->getType(),
rrsetptr->getClass());
if (rrset_found != NULL) {
- isc_throw(DuplicateRRset, "");
+ isc_throw(DuplicateRRset, "RRset is being doubly added to RRsetList: "
+ "type=" << rrsetptr->getType() << ", class=" <<
+ rrsetptr->getClass());
}
rrsets_.push_back(rrsetptr);
-}
-
-RRsetPtr
-RRsetList::findRRset(ConstRRsetPtr rrsetptr)
-{
- BOOST_FOREACH(RRsetPtr t, rrsets_) {
- if (rrsetptr == t) {
- return t;
- }
- }
- return RRsetPtr();
}
RRsetPtr
Modified: trunk/src/lib/dns/rrsetlist.h
==============================================================================
--- trunk/src/lib/dns/rrsetlist.h (original)
+++ trunk/src/lib/dns/rrsetlist.h Mon Mar 15 22:10:22 2010
@@ -82,11 +82,7 @@
public:
RRsetList() {}
void addRRset(RRsetPtr new_rrsetptr);
- RRsetPtr findRRset(const RRType& rrtype,
- const RRClass& rrclass = RRClass::IN());
- RRsetPtr findRRset(ConstRRsetPtr rrsetptr);
-
- RRsetPtr operator[](const RRType& t) { return (this->findRRset(t)); }
+ RRsetPtr findRRset(const RRType& rrtype, const RRClass& rrclass);
typedef RRsetListIterator<std::vector<RRsetPtr>::iterator,
RRsetPtr*,
Modified: trunk/src/lib/dns/tests/rrsetlist_unittest.cc
==============================================================================
--- trunk/src/lib/dns/tests/rrsetlist_unittest.cc (original)
+++ trunk/src/lib/dns/tests/rrsetlist_unittest.cc Mon Mar 15 22:10:22 2010
@@ -34,8 +34,12 @@
namespace {
class RRsetListTest : public ::testing::Test {
protected:
- RRsetListTest() {}
+ RRsetListTest() : example_name(Name("example.com")),
+ example_ttl(RRTTL(3600))
+ {}
void setupList(RRsetList& list);
+ Name example_name;
+ RRTTL example_ttl;
};
const in::A rdata_in_a("192.0.2.1");
@@ -48,15 +52,15 @@
void
RRsetListTest::setupList(RRsetList& list) {
RRsetPtr a(new RRset(Name("example.com"), RRClass::IN(),
- RRType::A(), RRTTL(3600)));
+ RRType::A(), example_ttl));
RRsetPtr aaaa(new RRset(Name("example.com"), RRClass::IN(),
- RRType::AAAA(), RRTTL(3600)));
+ RRType::AAAA(), example_ttl));
RRsetPtr ns(new RRset(Name("example.com"), RRClass::IN(),
- RRType::NS(), RRTTL(3600)));
+ RRType::NS(), example_ttl));
RRsetPtr soa(new RRset(Name("example.com"), RRClass::IN(),
- RRType::SOA(), RRTTL(3600)));
+ RRType::SOA(), example_ttl));
RRsetPtr cname(new RRset(Name("example.com"), RRClass::IN(),
- RRType::CNAME(), RRTTL(3600)));
+ RRType::CNAME(), example_ttl));
a->addRdata(rdata_in_a);
aaaa->addRdata(rdata_in_aaaa);
@@ -86,55 +90,47 @@
RRsetList list;
setupList(list);
RRsetPtr cname(new RRset(Name("another.example.com"), RRClass::IN(),
- RRType::CNAME(), RRTTL(3600)));
+ RRType::CNAME(), example_ttl));
EXPECT_THROW(list.addRRset(cname), DuplicateRRset);
}
-TEST_F(RRsetListTest, randomAccess) {
- RRsetList list;
- setupList(list);
-
- RRsetPtr p;
-
- p = list[RRType::CNAME()];
- EXPECT_EQ(p->getType(), RRType::CNAME());
-
- p = list[RRType::AAAA()];
- EXPECT_EQ(p->getType(), RRType::AAAA());
-
- p = list[RRType::NS()];
- EXPECT_EQ(p->getType(), RRType::NS());
-
- p = list[RRType::A()];
- EXPECT_EQ(p->getType(), RRType::A());
-
- p = list[RRType::SOA()];
- EXPECT_EQ(p->getType(), RRType::SOA());
-
- // What should this be?
- p = RRsetPtr(new RRset(Name("example.com"), RRClass::CH(),
- RRType::DNAME(), RRTTL(3600)));
- list.addRRset(p);
- p = list[RRType::DNAME()];
- //This will crash, but it's counter intuitive, isn't it? We added a DNAME
- //RRset and fetched a DNAME RRset in the list. Why can't it succeed?
- //EXPECT_EQ(p->getType(), RRType::DNAME());
+void
+checkFindResult(RRsetList& list, const Name& name,
+ const RRType& rrtype, const RRClass& rrclass,
+ const RRTTL& rrttl)
+{
+ RRsetPtr rrset = list.findRRset(rrtype, rrclass);;
+ EXPECT_EQ(name, rrset->getName());
+ EXPECT_EQ(rrtype, rrset->getType());
+ EXPECT_EQ(rrclass, rrset->getClass());
+ EXPECT_EQ(rrttl, rrset->getTTL());
}
TEST_F(RRsetListTest, findRRset) {
RRsetList list;
setupList(list);
- EXPECT_EQ(list[RRType::A()], list.findRRset(RRType::A(), RRClass::IN()));
+
+ checkFindResult(list, example_name, RRType::A(), RRClass::IN(),
+ example_ttl);
+ checkFindResult(list, example_name, RRType::CNAME(), RRClass::IN(),
+ example_ttl);
+ checkFindResult(list, example_name, RRType::AAAA(), RRClass::IN(),
+ example_ttl);
+ checkFindResult(list, example_name, RRType::NS(), RRClass::IN(),
+ example_ttl);
+ checkFindResult(list, example_name, RRType::SOA(), RRClass::IN(),
+ example_ttl);
}
TEST_F(RRsetListTest, checkData) {
RRsetList list;
RRsetPtr a(new RRset(Name("example.com"), RRClass::IN(),
- RRType::A(), RRTTL(3600)));
+ RRType::A(), example_ttl));
a->addRdata(rdata_in_a);
list.addRRset(a);
- RdataIteratorPtr it = list[RRType::A()]->getRdataIterator();
+ RdataIteratorPtr it =
+ list.findRRset(RRType::A(), RRClass::IN())->getRdataIterator();
it->first();
EXPECT_FALSE(it->isLast());
EXPECT_EQ("192.0.2.1", it->getCurrent().toText());
More information about the bind10-changes
mailing list