From 12bb3081359b889c380d2df333ac370cc2ec865e Mon Sep 17 00:00:00 2001 From: Colin Patrick McCabe Date: Tue, 7 Jun 2011 12:05:50 -0700 Subject: [PATCH] test/bufferlist: add copy_all test Signed-off-by: Colin McCabe --- src/test/bufferlist.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/bufferlist.cc b/src/test/bufferlist.cc index 22649e62e0698..328c5f0f887de 100644 --- a/src/test/bufferlist.cc +++ b/src/test/bufferlist.cc @@ -53,3 +53,21 @@ TEST(BufferList, TestDirectAppend) { } ASSERT_EQ(memcmp(bl.c_str(), correct, curpos), 0); } + +TEST(BufferList, TestCopyAll) { + const static size_t BIG_SZ = 10737414; + unsigned char big[BIG_SZ]; + unsigned char c = 0; + for (size_t i = 0; i < BIG_SZ; ++i) { + big[i] = c++; + } + bufferlist bl; + bl.append((const char*)big, BIG_SZ); + bufferlist::iterator i = bl.begin(); + bufferlist bl2; + i.copy_all(bl2); + ASSERT_EQ(bl2.length(), BIG_SZ); + unsigned char big2[BIG_SZ]; + bl2.copy(0, BIG_SZ, (char*)big2); + ASSERT_EQ(memcmp(big, big2, BIG_SZ), 0); +} -- 2.39.5