summaryrefslogtreecommitdiff
path: root/src/test/common/test_crc32c.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/common/test_crc32c.cc')
-rw-r--r--src/test/common/test_crc32c.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test/common/test_crc32c.cc b/src/test/common/test_crc32c.cc
index 19a1dfb7284..5cf88de0a80 100644
--- a/src/test/common/test_crc32c.cc
+++ b/src/test/common/test_crc32c.cc
@@ -23,6 +23,15 @@ TEST(Crc32c, Small) {
ASSERT_EQ(3743019208u, ceph_crc32c(5678, (unsigned char *)b, strlen(b)));
}
+TEST(Crc32c, PartialWord) {
+ const char *a = (const char *)malloc(5);
+ const char *b = (const char *)malloc(35);
+ memset((void *)a, 1, 5);
+ memset((void *)b, 1, 35);
+ ASSERT_EQ(2715569182u, ceph_crc32c(0, (unsigned char *)a, 5));
+ ASSERT_EQ(440531800u, ceph_crc32c(0, (unsigned char *)b, 35));
+}
+
TEST(Crc32c, Big) {
int len = 4096000;
char *a = (char *)malloc(len);