BIND 10 trac2268, updated. 0e2c14089b820cbb0bdef6e813042992896375bc [2268] Make minor code cleanup
BIND 10 source code commits
bind10-changes at lists.isc.org
Sun Oct 14 14:31:38 UTC 2012
The branch, trac2268 has been updated
via 0e2c14089b820cbb0bdef6e813042992896375bc (commit)
via 45f0d1f2e771efaf7ca21e7f0450626847e75d90 (commit)
via 31d092681cc44a6d742474090430c7ddba3f81e6 (commit)
via 3744e7a8584a1c51bc5163751975af8e297c53c5 (commit)
from e93e6f3873ca08ae835dfd883c36f19b42df247f (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 0e2c14089b820cbb0bdef6e813042992896375bc
Author: Mukund Sivaraman <muks at isc.org>
Date: Sun Oct 14 19:59:55 2012 +0530
[2268] Make minor code cleanup
commit 45f0d1f2e771efaf7ca21e7f0450626847e75d90
Author: Mukund Sivaraman <muks at isc.org>
Date: Sun Oct 14 19:45:37 2012 +0530
[2168] Untabify
commit 31d092681cc44a6d742474090430c7ddba3f81e6
Author: Mukund Sivaraman <muks at isc.org>
Date: Sun Oct 14 19:44:41 2012 +0530
[2268] Remove per-test iterator classes and use MockVectorIterator instead
commit 3744e7a8584a1c51bc5163751975af8e297c53c5
Author: Mukund Sivaraman <muks at isc.org>
Date: Sun Oct 14 19:33:46 2012 +0530
[2268] Add MockVectorIterator class
-----------------------------------------------------------------------
Summary of changes:
src/lib/datasrc/memory/memory_client.h | 4 +-
src/lib/datasrc/memory/zone_data_loader.h | 12 +-
.../datasrc/tests/memory/memory_client_unittest.cc | 145 +++++++-------------
3 files changed, 57 insertions(+), 104 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/memory_client.h b/src/lib/datasrc/memory/memory_client.h
index bc79e29..3313c5b 100644
--- a/src/lib/datasrc/memory/memory_client.h
+++ b/src/lib/datasrc/memory/memory_client.h
@@ -183,8 +183,8 @@ private:
// Common process for zone load. Registers filename internally and
// adds the ZoneData to the ZoneTable.
result::Result loadInternal(const isc::dns::Name& zone_name,
- const std::string& filename,
- ZoneData* zone_data);
+ const std::string& filename,
+ ZoneData* zone_data);
util::MemorySegment& mem_sgmt_;
const isc::dns::RRClass rrclass_;
diff --git a/src/lib/datasrc/memory/zone_data_loader.h b/src/lib/datasrc/memory/zone_data_loader.h
index 21f7ad6..298af46 100644
--- a/src/lib/datasrc/memory/zone_data_loader.h
+++ b/src/lib/datasrc/memory/zone_data_loader.h
@@ -48,9 +48,9 @@ struct EmptyZone : public InvalidParameter {
/// \param zone_name The name of the zone that is being loaded.
/// \param zone_file Filename which contains the zone data for \c zone_name.
ZoneData* loadZoneData(util::MemorySegment& mem_sgmt,
- const isc::dns::RRClass rrclass,
- const isc::dns::Name& zone_name,
- const std::string& zone_file);
+ const isc::dns::RRClass rrclass,
+ const isc::dns::Name& zone_name,
+ const std::string& zone_file);
/// \brief Create and return a ZoneData instance populated from the
/// \c iterator.
@@ -65,9 +65,9 @@ ZoneData* loadZoneData(util::MemorySegment& mem_sgmt,
/// \param zone_name The name of the zone that is being loaded.
/// \param iterator Iterator that returns RRsets to load into the zone.
ZoneData* loadZoneData(util::MemorySegment& mem_sgmt,
- const isc::dns::RRClass rrclass,
- const isc::dns::Name& zone_name,
- ZoneIterator& iterator);
+ const isc::dns::RRClass rrclass,
+ const isc::dns::Name& zone_name,
+ ZoneIterator& iterator);
} // namespace memory
} // namespace datasrc
diff --git a/src/lib/datasrc/tests/memory/memory_client_unittest.cc b/src/lib/datasrc/tests/memory/memory_client_unittest.cc
index e78067c..9546653 100644
--- a/src/lib/datasrc/tests/memory/memory_client_unittest.cc
+++ b/src/lib/datasrc/tests/memory/memory_client_unittest.cc
@@ -46,6 +46,7 @@ using namespace isc::dns::rdata;
using namespace isc::datasrc;
using namespace isc::datasrc::memory;
using namespace isc::testutils;
+using std::vector;
namespace {
@@ -124,116 +125,31 @@ public:
}
};
-class MockIteratorRRSIGMixedCovered : public ZoneIterator {
+class MockVectorIterator : public ZoneIterator {
private:
- MockIteratorRRSIGMixedCovered(RRClass rrclass) :
- rrclass_(rrclass),
+ MockVectorIterator(const vector<ConstRRsetPtr>& rrsets) :
+ rrsets_(rrsets),
counter_(0)
{}
- RRClass rrclass_;
+ const vector<ConstRRsetPtr> rrsets_;
int counter_;
public:
virtual ConstRRsetPtr getNextRRset() {
- RRsetPtr rrset;
-
- switch (counter_) {
- case 0:
- rrset.reset(new RRset(Name("example.org"),
- RRClass::IN(), RRType::SOA(), RRTTL(3600)));
- rrset->addRdata(generic::SOA(Name("ns1.example.org"),
- Name("bugs.x.w.example.org"),
- 2010012601, 3600, 300, 3600000,
- 1200));
- break;
-
- case 1: {
- rrset.reset(new RRset(Name("example.org"),
- RRClass::IN(), RRType::A(), RRTTL(3600)));
- rrset->addRdata(in::A("192.0.2.1"));
- rrset->addRdata(in::A("192.0.2.2"));
-
- RRsetPtr rrsig(new RRset(Name("example.org"), rrclass_,
- RRType::RRSIG(), RRTTL(300)));
- rrsig->addRdata(generic::RRSIG("A 5 3 3600 "
- "20000101000000 20000201000000 "
- "12345 example.org. FAKEFAKEFAKE"));
- rrsig->addRdata(generic::RRSIG("NS 5 3 3600 "
- "20000101000000 20000201000000 "
- "54321 example.org. "
- "FAKEFAKEFAKEFAKE"));
- rrset->addRRsig(rrsig);
- break;
- }
-
- default:
- rrset.reset();
- }
-
- if (counter_ < 2) {
- counter_++;
- }
-
- return (rrset);
- }
-
- virtual ConstRRsetPtr getSOA() const {
- isc_throw(isc::NotImplemented, "Not implemented");
- }
-
- static ZoneIteratorPtr makeIterator(RRClass rrclass) {
- return (ZoneIteratorPtr(new MockIteratorRRSIGMixedCovered(rrclass)));
- }
-};
-
-class MockIteratorEmptyRRset : public ZoneIterator {
-private:
- MockIteratorEmptyRRset(RRClass rrclass) :
- rrclass_(rrclass),
- counter_(0)
- {}
-
- RRClass rrclass_;
- int counter_;
-
-public:
- virtual ConstRRsetPtr getNextRRset() {
- RRsetPtr rrset;
-
- switch (counter_) {
- case 0:
- rrset.reset(new RRset(Name("example.org"),
- RRClass::IN(), RRType::SOA(), RRTTL(3600)));
- rrset->addRdata(generic::SOA(Name("ns1.example.org"),
- Name("bugs.x.w.example.org"),
- 2010012601, 3600, 300, 3600000,
- 1200));
- break;
-
- case 1: {
- rrset.reset(new RRset(Name("example.org"),
- RRClass::IN(), RRType::A(), RRTTL(3600)));
- break;
- }
-
- default:
- rrset.reset();
- }
-
- if (counter_ < 2) {
- counter_++;
+ if (counter_ >= rrsets_.size()) {
+ return (ConstRRsetPtr());
}
- return (rrset);
+ return (rrsets_[counter_++]);
}
virtual ConstRRsetPtr getSOA() const {
isc_throw(isc::NotImplemented, "Not implemented");
}
- static ZoneIteratorPtr makeIterator(RRClass rrclass) {
- return (ZoneIteratorPtr(new MockIteratorEmptyRRset(rrclass)));
+ static ZoneIteratorPtr makeIterator(const vector<ConstRRsetPtr>& rrsets) {
+ return (ZoneIteratorPtr(new MockVectorIterator(rrsets)));
}
};
@@ -664,9 +580,33 @@ TEST_F(MemoryClientTest, loadRRSIGs) {
}
TEST_F(MemoryClientTest, loadRRSIGsRdataMixedCoveredTypes) {
+ vector<ConstRRsetPtr> rrsets_vec;
+
+ RRsetPtr rrset(new RRset(Name("example.org"),
+ zclass_, RRType::SOA(), RRTTL(3600)));
+ rrset->addRdata(generic::SOA(Name("ns1.example.org"),
+ Name("bugs.x.w.example.org"),
+ 2010012601, 3600, 300, 3600000, 1200));
+ rrsets_vec.push_back(rrset);
+
+ rrset.reset(new RRset(Name("example.org"),
+ zclass_, RRType::A(), RRTTL(3600)));
+ rrset->addRdata(in::A("192.0.2.1"));
+ rrset->addRdata(in::A("192.0.2.2"));
+
+ RRsetPtr rrsig(new RRset(Name("example.org"), zclass_,
+ RRType::RRSIG(), RRTTL(300)));
+ rrsig->addRdata(generic::RRSIG("A 5 3 3600 20000101000000 20000201000000 "
+ "12345 example.org. FAKEFAKEFAKE"));
+ rrsig->addRdata(generic::RRSIG("NS 5 3 3600 20000101000000 20000201000000 "
+ "54321 example.org. FAKEFAKEFAKEFAKE"));
+ rrset->addRRsig(rrsig);
+
+ rrsets_vec.push_back(rrset);
+
EXPECT_THROW(
client_->load(Name("example.org"),
- *MockIteratorRRSIGMixedCovered::makeIterator(zclass_)),
+ *MockVectorIterator::makeIterator(rrsets_vec)),
ZoneDataUpdater::AddError);
// Teardown checks for memory segment leaks
}
@@ -761,9 +701,22 @@ TEST_F(MemoryClientTest, getIteratorGetSOAThrowsNotImplemented) {
}
TEST_F(MemoryClientTest, addEmptyRRsetThrows) {
+ vector<ConstRRsetPtr> rrsets_vec;
+
+ RRsetPtr rrset(new RRset(Name("example.org"),
+ zclass_, RRType::SOA(), RRTTL(3600)));
+ rrset->addRdata(generic::SOA(Name("ns1.example.org"),
+ Name("bugs.x.w.example.org"),
+ 2010012601, 3600, 300, 3600000, 1200));
+ rrsets_vec.push_back(rrset);
+
+ rrset.reset(new RRset(Name("example.org"),
+ zclass_, RRType::A(), RRTTL(3600)));
+ rrsets_vec.push_back(rrset);
+
EXPECT_THROW(
client_->load(Name("example.org"),
- *MockIteratorEmptyRRset::makeIterator(zclass_)),
+ *MockVectorIterator::makeIterator(rrsets_vec)),
ZoneDataUpdater::AddError);
// Teardown checks for memory segment leaks
}
More information about the bind10-changes
mailing list