From 83d15403535d094ab1b9049d5bdb3f96b8eb8466 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Fri, 23 Jan 2015 14:00:40 +0800 Subject: [PATCH] bufferlist: add more test case for bufferlist::get_contiguous. Signed-off-by: Jianpeng Ma --- src/test/bufferlist.cc | 62 +++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index 787ce7e429774..0fc8ec51a8e1c 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -1082,22 +1082,52 @@ TEST(BufferList, buffers) { } TEST(BufferList, get_contiguous) { - bufferptr a("foobarbaz", 9); - bufferptr b("123456789", 9); - bufferptr c("ABCDEFGHI", 9); - bufferlist bl; - ASSERT_EQ(0, bl.get_contiguous(0, 0)); - - bl.append(a); - bl.append(b); - bl.append(c); - ASSERT_EQ(3u, bl.buffers().size()); - ASSERT_EQ(0, memcmp("bar", bl.get_contiguous(3, 3), 3)); - ASSERT_EQ(0, memcmp("456", bl.get_contiguous(12, 3), 3)); - ASSERT_EQ(0, memcmp("ABC", bl.get_contiguous(18, 3), 3)); - ASSERT_EQ(3u, bl.buffers().size()); - ASSERT_EQ(0, memcmp("789ABC", bl.get_contiguous(15, 6), 6)); - ASSERT_LT(bl.buffers().size(), 3u); + { + bufferptr a("foobarbaz", 9); + bufferptr b("123456789", 9); + bufferptr c("ABCDEFGHI", 9); + bufferlist bl; + ASSERT_EQ(0, bl.get_contiguous(0, 0)); + + bl.append(a); + bl.append(b); + bl.append(c); + ASSERT_EQ(3u, bl.buffers().size()); + ASSERT_EQ(0, memcmp("bar", bl.get_contiguous(3, 3), 3)); + ASSERT_EQ(0, memcmp("456", bl.get_contiguous(12, 3), 3)); + ASSERT_EQ(0, memcmp("ABC", bl.get_contiguous(18, 3), 3)); + ASSERT_EQ(3u, bl.buffers().size()); + ASSERT_EQ(0, memcmp("789ABC", bl.get_contiguous(15, 6), 6)); + ASSERT_EQ(2u, bl.buffers().size()); + } + + { + bufferptr a("foobarbaz", 9); + bufferptr b("123456789", 9); + bufferptr c("ABCDEFGHI", 9); + bufferlist bl; + + bl.append(a); + bl.append(b); + bl.append(c); + + ASSERT_EQ(0, memcmp("789ABCDEFGHI", bl.get_contiguous(15, 12), 12)); + ASSERT_EQ(2u, bl.buffers().size()); + } + + { + bufferptr a("foobarbaz", 9); + bufferptr b("123456789", 9); + bufferptr c("ABCDEFGHI", 9); + bufferlist bl; + + bl.append(a); + bl.append(b); + bl.append(c); + + ASSERT_EQ(0, memcmp("z123456789AB", bl.get_contiguous(8, 12), 12)); + ASSERT_EQ(1u, bl.buffers().size()); + } } TEST(BufferList, swap) { -- 2.39.5