shill: LinkMonitor: Add ArpPacket code
Add ArpPacket class to parse and compose ARP packets.
BUG=chromium-os:32600
TEST=New unit tests
Change-Id: Icac65cc16e059f07109fc695ba9046cafa0b042c
Reviewed-on: https://gerrit.chromium.org/gerrit/28096
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/byte_string_unittest.cc b/byte_string_unittest.cc
index c4692ed..7aeed8b 100644
--- a/byte_string_unittest.cc
+++ b/byte_string_unittest.cc
@@ -81,6 +81,16 @@
EXPECT_TRUE(bs6.Equals(bs1));
}
+TEST_F(ByteStringTest, SubString) {
+ ByteString bs1(kTest1, sizeof(kTest1));
+ ByteString bs2(kTest1 + 3, 4);
+ EXPECT_TRUE(bs2.Equals(bs1.GetSubstring(3, 4)));
+ const int kMargin = sizeof(kTest1) - 3;
+ ByteString bs3(kTest1 + kMargin, sizeof(kTest1) - kMargin);
+ EXPECT_TRUE(bs3.Equals(bs1.GetSubstring(kMargin, sizeof(kTest1))));
+ EXPECT_TRUE(bs1.GetSubstring(sizeof(kTest1), 10).IsEmpty());
+}
+
TEST_F(ByteStringTest, UInt32) {
ByteString bs1 = ByteString::CreateFromNetUInt32(kTest2Uint32);
uint32 val;