Fetch the network portion of the IP address

eg 192.168.2.24/24 ==> 192.168.2.0

Change-Id: I5e46ce7b371360c90ef74fac175c8379c6f31d4c
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/test/Makefile.am b/test/Makefile.am
index 87d0742..1fd0f33 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -11,12 +11,17 @@
 	test_ethernet_interface.cpp
 
 test_CPPFLAGS = -Igtest $(GTEST_CPPFLAGS) $(AM_CPPFLAGS)
-test_CXXFLAGS = $(PTHREAD_CFLAGS)
+test_CXXFLAGS = $(PTHREAD_CFLAGS) \
+				$(SYSTEMD_CFLAGS) \
+				$(SDBUSPLUS_CFLAGS) \
+				$(PHOSPHOR_LOGGING_CFLAGS) \
+				$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
 
 test_LDFLAGS =	-lgtest_main -lgtest -lstdc++fs \
 				$(OESDK_TESTCASE_FLAGS) \
 				$(SYSTEMD_LIBS) \
 				$(SDBUSPLUS_LIBS) \
+				$(PHOSPHOR_LOGGING_LIBS) \
 				$(PHOSPHOR_DBUS_INTERFACES_LIBS)
 
 test_LDADD = $(top_builddir)/ethernet_interface.cpp \
diff --git a/test/test_util.cpp b/test/test_util.cpp
index d0888ca..9b1d34a 100644
--- a/test/test_util.cpp
+++ b/test/test_util.cpp
@@ -61,7 +61,7 @@
     EXPECT_EQ(prefix, 0);
 }
 
-TEST_F(TestUtil, isLinLocaladdress)
+TEST_F(TestUtil, isLinkLocaladdress)
 {
     std::string ipaddress = "fe80:fec0::";
     EXPECT_TRUE(isLinkLocal(ipaddress));
@@ -85,5 +85,27 @@
     EXPECT_EQ(mask, "255.255.255.224");
 }
 
+TEST_F(TestUtil, getNetworkAddress)
+{
+    std::string address = getNetworkID(AF_INET,"9.3.23.251",24);
+    EXPECT_EQ("9.3.23.0",address);
+
+    address = getNetworkID(AF_INET,"9.3.23.251",25);
+    EXPECT_EQ("9.3.23.128",address);
+
+    address = getNetworkID(AF_INET6,"2001:db8:abcd:dd12::0",64);
+    EXPECT_EQ("2001:db8:abcd:dd12::",address);
+
+    address = getNetworkID(AF_INET,"a.b.c.d",25);
+    EXPECT_EQ("",address);
+
+    address = getNetworkID(AF_INET6,"2001:db8:gghh:dd12::0",64);
+    EXPECT_EQ("",address);
+
+
+    address = getNetworkID(AF_INET6,"fe80::201:6cff:fe80:228",64);
+    EXPECT_EQ("fe80::",address);
+}
+
 }// namespce network
 }// namespace phosphor