From: Jianpeng Ma Date: Fri, 23 Jan 2015 06:00:40 +0000 (+0800) Subject: bufferlist: add more test case for bufferlist::get_contiguous. X-Git-Tag: v9.0.1~36^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=83d15403535d094ab1b9049d5bdb3f96b8eb8466;p=ceph.git bufferlist: add more test case for bufferlist::get_contiguous. Signed-off-by: Jianpeng Ma --- diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index 787ce7e4297..0fc8ec51a8e 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) {