[svn] commit: r3533 - in /branches/trac356/src/lib/nsas: nameserver_address.h tests/nameserver_address_unittest.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Nov 16 10:53:00 UTC 2010
Author: ocean
Date: Tue Nov 16 10:53:00 2010
New Revision: 3533
Log:
Remove unnecessary test in NameserverAddress.
Add more unit tests for NameserverAddress
Modified:
branches/trac356/src/lib/nsas/nameserver_address.h
branches/trac356/src/lib/nsas/tests/nameserver_address_unittest.cc
Modified: branches/trac356/src/lib/nsas/nameserver_address.h
==============================================================================
--- branches/trac356/src/lib/nsas/nameserver_address.h (original)
+++ branches/trac356/src/lib/nsas/nameserver_address.h Tue Nov 16 10:53:00 2010
@@ -70,8 +70,7 @@
/// update the address's RTT.
/// \param rtt The new Round-Trip Time
void updateRTT(uint32_t rtt) {
- NameserverEntry* ne = ns_.get();
- if(ne) ne->updateAddressRTTAtIndex(rtt, index_);
+ ns_.get()->updateAddressRTTAtIndex(rtt, index_);
}
private:
/// \brief Default Constructor
Modified: branches/trac356/src/lib/nsas/tests/nameserver_address_unittest.cc
==============================================================================
--- branches/trac356/src/lib/nsas/tests/nameserver_address_unittest.cc (original)
+++ branches/trac356/src/lib/nsas/tests/nameserver_address_unittest.cc Tue Nov 16 10:53:00 2010
@@ -53,6 +53,9 @@
// Return the IOAddress corresponding to the index in rrv4_
asiolink::IOAddress getAddressAtIndex(uint32_t index) { return ns_.get()->getAddressAtIndex(index); }
+ // Return the addresses count stored in RRset
+ unsigned int getAddressesCount() const { return rrv4_.getRdataCount(); }
+
// Return the RTT of the address
uint32_t getAddressRTTAtIndex(uint32_t index) {
NameserverEntry::AddressVector addresses;
@@ -70,27 +73,49 @@
protected:
// Constructor
NameserverAddressTest():
- ns_address_(ns_sample_.getNameserverEntry(), TEST_ADDRESS_INDEX)
+ ns_address_(ns_sample_.getNameserverEntry(), TEST_ADDRESS_INDEX),
+ invalid_ns_address_(ns_sample_.getNameserverEntry(), ns_sample_.getAddressesCount())
{
}
NameserverEntrySample ns_sample_;
+ // Valid NameserverAddress object
NameserverAddress ns_address_;
+
+ // NameserverAddress object that constructed with invalid index
+ NameserverAddress invalid_ns_address_;
};
// Test that the address is equal to the address in NameserverEntry
TEST_F(NameserverAddressTest, Address) {
EXPECT_TRUE(ns_address_.getAddress().equal( ns_sample_.getAddressAtIndex(TEST_ADDRESS_INDEX)));
+
+ // It will trigger an assert with the invalid index
+ ASSERT_DEATH(invalid_ns_address_.getAddress(), "");
+
+ boost::shared_ptr<NameserverEntry> empty_ne((NameserverEntry*)NULL);
+ NameserverAddress empty_ns_address(empty_ne, 0);
+
+ // It will trigger an assert with the empty NameserverEntry shared pointer
+ ASSERT_DEATH(empty_ns_address.getAddress(), "");
}
// Test that the RTT is updated
TEST_F(NameserverAddressTest, UpdateRTT) {
uint32_t old_rtt = ns_sample_.getAddressRTTAtIndex(TEST_ADDRESS_INDEX);
- uint32_t new_rtt = old_rtt + 1;
+ uint32_t new_rtt = old_rtt + 10;
+
+ uint32_t old_rtt0 = ns_sample_.getAddressRTTAtIndex(0);
+ uint32_t old_rtt2 = ns_sample_.getAddressRTTAtIndex(2);
ns_address_.updateRTT(new_rtt);
+ //The RTT should have been updated
EXPECT_EQ(new_rtt, ns_sample_.getAddressRTTAtIndex(TEST_ADDRESS_INDEX));
+
+ //The RTTs not been updated should remain unchanged
+ EXPECT_EQ(old_rtt0, ns_sample_.getAddressRTTAtIndex(0));
+ EXPECT_EQ(old_rtt2, ns_sample_.getAddressRTTAtIndex(2));
}
} // namespace nsas
More information about the bind10-changes
mailing list