From: Loic Dachary Date: Wed, 24 Sep 2014 14:00:08 +0000 (+0200) Subject: tests: use memcmp to compare binary buffers X-Git-Tag: v0.88~156^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2567%2Fhead;p=ceph.git tests: use memcmp to compare binary buffers instead of strncmp because it will stop at the first \0 http://tracker.ceph.com/issues/6697 Fixes: #6697 Signed-off-by: Loic Dachary --- diff --git a/src/test/erasure-code/TestErasureCodeJerasure.cc b/src/test/erasure-code/TestErasureCodeJerasure.cc index 37629519c37a..4b533118128e 100644 --- a/src/test/erasure-code/TestErasureCodeJerasure.cc +++ b/src/test/erasure-code/TestErasureCodeJerasure.cc @@ -76,9 +76,9 @@ TYPED_TEST(ErasureCodeTest, encode_decode) &encoded)); EXPECT_EQ(4u, encoded.size()); unsigned length = encoded[0].length(); - EXPECT_EQ(0, strncmp(encoded[0].c_str(), in.c_str(), length)); - EXPECT_EQ(0, strncmp(encoded[1].c_str(), in.c_str() + length, - in.length() - length)); + EXPECT_EQ(0, memcmp(encoded[0].c_str(), in.c_str(), length)); + EXPECT_EQ(0, memcmp(encoded[1].c_str(), in.c_str() + length, + in.length() - length)); // all chunks are available @@ -90,9 +90,9 @@ TYPED_TEST(ErasureCodeTest, encode_decode) &decoded)); EXPECT_EQ(2u, decoded.size()); EXPECT_EQ(length, decoded[0].length()); - EXPECT_EQ(0, strncmp(decoded[0].c_str(), in.c_str(), length)); - EXPECT_EQ(0, strncmp(decoded[1].c_str(), in.c_str() + length, - in.length() - length)); + EXPECT_EQ(0, memcmp(decoded[0].c_str(), in.c_str(), length)); + EXPECT_EQ(0, memcmp(decoded[1].c_str(), in.c_str() + length, + in.length() - length)); } // two chunks are missing @@ -109,9 +109,9 @@ TYPED_TEST(ErasureCodeTest, encode_decode) // always decode all, regardless of want_to_decode EXPECT_EQ(4u, decoded.size()); EXPECT_EQ(length, decoded[0].length()); - EXPECT_EQ(0, strncmp(decoded[0].c_str(), in.c_str(), length)); - EXPECT_EQ(0, strncmp(decoded[1].c_str(), in.c_str() + length, - in.length() - length)); + EXPECT_EQ(0, memcmp(decoded[0].c_str(), in.c_str(), length)); + EXPECT_EQ(0, memcmp(decoded[1].c_str(), in.c_str() + length, + in.length() - length)); } } } diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index 2f0e5d26be88..f451307f336a 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -846,7 +846,7 @@ void aio_read_test_data(librbd::Image& image, const char *expected, off_t off, s int r = comp->get_return_value(); printf("return value is: %d\n", r); assert(r == TEST_IO_SIZE); - assert(strncmp(expected, bl.c_str(), TEST_IO_SIZE) == 0); + assert(memcmp(expected, bl.c_str(), TEST_IO_SIZE) == 0); printf("finished read\n"); comp->release(); } @@ -860,7 +860,7 @@ void read_test_data(librbd::Image& image, const char *expected, off_t off, size_ assert(read >= 0); printf("read: %u\n", (unsigned int) read); printf("read: %s\nexpected: %s\n", bl.c_str(), expected); - assert(strncmp(bl.c_str(), expected, expected_len) == 0); + assert(memcmp(bl.c_str(), expected, expected_len) == 0); } TEST(LibRBD, TestIOPP)