Added new unit testcases
1. Added testcases to validate IP/PrefixLengnth/MACAddress.
2. Added test to rtnetlink.
Resolves openbmc/openbmc#2546
Change-Id: I61efbf69682a50f7479b68e32d9714e9c81a32d7
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
diff --git a/test/test_util.cpp b/test/test_util.cpp
index 1c78b64..9596097 100644
--- a/test/test_util.cpp
+++ b/test/test_util.cpp
@@ -17,6 +17,89 @@
};
+TEST_F(TestUtil, IpValidation)
+{
+ std::string ipaddress = "0.0.0.0";
+ EXPECT_EQ(true, isValidIP(AF_INET, ipaddress));
+
+ ipaddress = "9.3.185.83";
+ EXPECT_EQ(true, isValidIP(AF_INET, ipaddress));
+
+ ipaddress = "9.3.185.a";
+ EXPECT_EQ(false, isValidIP(AF_INET, ipaddress));
+
+ ipaddress = "9.3.a.83";
+ EXPECT_EQ(false, isValidIP(AF_INET, ipaddress));
+
+ ipaddress = "x.x.x.x";
+ EXPECT_EQ(false, isValidIP(AF_INET, ipaddress));
+
+ ipaddress = "0:0:0:0:0:0:0:0";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "1:0:0:0:0:0:0:8";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "1::8";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "0:0:0:0:0:FFFF:204.152.189.116";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "::ffff:204.152.189.116";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "a:0:0:0:0:FFFF:204.152.189.116";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+ ipaddress = "1::8";
+ EXPECT_EQ(true, isValidIP(AF_INET6, ipaddress));
+
+
+}
+
+TEST_F(TestUtil, PrefixValidation)
+{
+ uint8_t prefixLength = 1;
+ EXPECT_EQ(true, isValidPrefix(AF_INET, prefixLength));
+
+ prefixLength = 32;
+ EXPECT_EQ(true, isValidPrefix(AF_INET, prefixLength));
+
+ prefixLength = 0;
+ EXPECT_EQ(false, isValidPrefix(AF_INET, prefixLength));
+
+ prefixLength = 33;
+ EXPECT_EQ(false, isValidPrefix(AF_INET, prefixLength));
+
+ prefixLength = 33;
+ EXPECT_EQ(true, isValidPrefix(AF_INET6, prefixLength));
+
+ prefixLength = 65;
+ EXPECT_EQ(false, isValidPrefix(AF_INET, prefixLength));
+
+}
+
+
+TEST_F(TestUtil, MacValidation)
+{
+ std::string macaddress = "00:00:00:00:00:00";
+ EXPECT_EQ(false, phosphor::network::mac_address::validate(macaddress));
+
+ macaddress = "F6:C6:E6:6:B0:D3";
+ EXPECT_EQ(false, phosphor::network::mac_address::validate(macaddress));
+
+ macaddress = "F6:C6:E6:06:B0:D3";
+ EXPECT_EQ(true, phosphor::network::mac_address::validate(macaddress));
+
+ macaddress = "hh:HH:HH:hh:HH:yy";
+ EXPECT_EQ(false, phosphor::network::mac_address::validate(macaddress));
+
+ macaddress = "hhh:GGG:iii:jjj:kkk:lll";
+ EXPECT_EQ(false, phosphor::network::mac_address::validate(macaddress));
+
+}
+
TEST_F(TestUtil, ConvertV4MasktoPrefix)
{
std::string mask = "255.255.255.0";