BIND 10 trac1957, updated. b8306189256e5bceeb3017817681ecb9c39b5736 [1957] Added unit tests for new open socket methods.
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Jun 13 16:50:48 UTC 2012
The branch, trac1957 has been updated
via b8306189256e5bceeb3017817681ecb9c39b5736 (commit)
from c4901d0f8f158eccafcc7d968b3253297a224272 (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 b8306189256e5bceeb3017817681ecb9c39b5736
Author: Marcin Siodelski <marcin at isc.org>
Date: Wed Jun 13 18:48:17 2012 +0200
[1957] Added unit tests for new open socket methods.
-----------------------------------------------------------------------
Summary of changes:
src/lib/dhcp/iface_mgr.cc | 24 ++++++++++------
src/lib/dhcp/tests/iface_mgr_unittest.cc | 46 ++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+), 8 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc
index aaad879..345acc7 100644
--- a/src/lib/dhcp/iface_mgr.cc
+++ b/src/lib/dhcp/iface_mgr.cc
@@ -394,7 +394,9 @@ int IfaceMgr::openSocket(const std::string& ifname, const IOAddress& addr,
}
}
-int IfaceMgr::openSocketFromIface(const std::string& ifname, const uint16_t port, const uint8_t family) {
+int IfaceMgr::openSocketFromIface(const std::string& ifname,
+ const uint16_t port,
+ const uint8_t family) {
int sock = 0;
for (IfaceCollection::iterator iface=ifaces_.begin();
iface!=ifaces_.end();
@@ -426,7 +428,8 @@ int IfaceMgr::openSocketFromIface(const std::string& ifname, const uint16_t port
return (sock);
}
-int IfaceMgr::openSocketFromAddr(const std::string& addr_name, const uint16_t port) {
+int IfaceMgr::openSocketFromAddr(const std::string& addr_name,
+ const uint16_t port) {
int sock = 0;
for (IfaceCollection::iterator iface=ifaces_.begin();
iface!=ifaces_.end();
@@ -444,7 +447,8 @@ int IfaceMgr::openSocketFromAddr(const std::string& addr_name, const uint16_t po
continue;
}
} catch (const isc::asiolink::IOError& e) {
- cout << "Failed to open socket from address: " << e.what() << endl;
+ cout << "Failed to open socket from address: "
+ << e.what() << endl;
return (sock);
}
@@ -456,15 +460,19 @@ int IfaceMgr::openSocketFromAddr(const std::string& addr_name, const uint16_t po
}
}
return (sock);
-
+
}
- /*int IfaceMgr::openSocketFromRemoteAddr(const std::string& remote_addr_name,
+int IfaceMgr::openSocketFromRemoteAddr(const std::string&,
+ const uint16_t,
+ const uint8_t) {
+ /*
+int IfaceMgr::openSocketFromRemoteAddr(const std::string& remote_addr_name,
const uint16_t port,
- const uint8_t family) {
- return 0;
- }*/
+ const uint8_t family) {*/
+ return 0;
+}
int IfaceMgr::openSocket4(Iface& iface, const IOAddress& addr, uint16_t port) {
diff --git a/src/lib/dhcp/tests/iface_mgr_unittest.cc b/src/lib/dhcp/tests/iface_mgr_unittest.cc
index 36104af..e5ce2ef 100644
--- a/src/lib/dhcp/tests/iface_mgr_unittest.cc
+++ b/src/lib/dhcp/tests/iface_mgr_unittest.cc
@@ -240,6 +240,52 @@ TEST_F(IfaceMgrTest, sockets6) {
delete ifacemgr;
}
+TEST_F(IfaceMgrTest, socketsFromIface) {
+ NakedIfaceMgr* ifacemgr = new NakedIfaceMgr();
+
+ // open v6 socket on loopback interface and bind to 10547 port
+ int socket1 = ifacemgr->openSocketFromIface(LOOPBACK, 10547, AF_INET6);
+ EXPECT_GT(socket1, 0);
+
+ // open v4 sicket on loopback interface and bind to 10548 port
+ int socket2 = ifacemgr->openSocketFromIface(LOOPBACK, 10547, AF_INET);
+ EXPECT_GT(socket2, 0);
+
+ close(socket1);
+ close(socket2);
+
+ delete ifacemgr;
+}
+
+
+TEST_F(IfaceMgrTest, socketsFromAddr) {
+ NakedIfaceMgr* ifacemgr = new NakedIfaceMgr();
+
+ // open v6 socket on loopback address and bind to 10547 port
+ int socket1 = ifacemgr->openSocketFromAddr("::1", 10547);
+ EXPECT_GT(socket1, 0);
+
+ // open v4 socket on loopback address and bind to 10548 port
+ int socket2 = ifacemgr->openSocketFromAddr("127.0.0.1", 10548);
+ EXPECT_GT(socket2, 0);
+
+ close(socket1);
+ close(socket2);
+
+ delete ifacemgr;
+}
+
+TEST_F(IfaceMgrTest, socketsFromRemoteAddr) {
+ NakedIfaceMgr* ifacemgr = new NakedIfaceMgr();
+
+ int socket1 = ifacemgr->openSocketFromRemoteAddr("::1", 10547, AF_INET6);
+ EXPECT_GT(socket1, 0);
+
+ close(socket1);
+
+ delete ifacemgr;
+}
+
// TODO: disabled due to other naming on various systems
// (lo in Linux, lo0 in BSD systems)
TEST_F(IfaceMgrTest, DISABLED_sockets6Mcast) {
More information about the bind10-changes
mailing list