core: add free function to enumerate network interfaces.
Change-Id: Icd89662afe9e1295cd18a615970c5b4299529b38
Refs: #1306
diff --git a/tests/core/network-interface.cpp b/tests/core/network-interface.cpp
new file mode 100644
index 0000000..bdfd21f
--- /dev/null
+++ b/tests/core/network-interface.cpp
@@ -0,0 +1,39 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * See COPYING for copyright and distribution information.
+ */
+
+#include "core/network-interface.hpp"
+#include "tests/test-common.hpp"
+
+#include <boost/foreach.hpp>
+
+namespace nfd {
+namespace tests {
+
+BOOST_FIXTURE_TEST_SUITE(CoreNetworkInterface, BaseFixture)
+
+BOOST_AUTO_TEST_CASE(ListNetworkInterfaces)
+{
+ std::list< shared_ptr<NetworkInterfaceInfo> > netifs;
+ BOOST_CHECK_NO_THROW(netifs = listNetworkInterfaces());
+
+ BOOST_FOREACH(shared_ptr<NetworkInterfaceInfo> netif, netifs)
+ {
+ BOOST_TEST_MESSAGE(netif->index << ": " << netif->name);
+ BOOST_TEST_MESSAGE("\tether " << netif->etherAddress);
+ BOOST_FOREACH(boost::asio::ip::address_v4 address, netif->ipv4Addresses)
+ BOOST_TEST_MESSAGE("\tinet " << address);
+ BOOST_FOREACH(boost::asio::ip::address_v6 address, netif->ipv6Addresses)
+ BOOST_TEST_MESSAGE("\tinet6 " << address);
+ BOOST_TEST_MESSAGE("\tloopback : " << netif->isLoopback());
+ BOOST_TEST_MESSAGE("\tmulticast : " << netif->isMulticastCapable());
+ BOOST_TEST_MESSAGE("\tup : " << netif->isUp());
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+} // namespace tests
+} // namespace nfd