From: Radoslaw Zarzynski Date: Fri, 5 Feb 2021 12:38:47 +0000 (+0000) Subject: test: add unit test for rados_nobjects_list_next2(). X-Git-Tag: v17.1.0~2870^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8965506b8bd0b74ca5ec743e5eddd40dd4d37bac;p=ceph.git test: add unit test for rados_nobjects_list_next2(). Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/test/librados/list.cc b/src/test/librados/list.cc index c66cec351355..829890c1ad90 100644 --- a/src/test/librados/list.cc +++ b/src/test/librados/list.cc @@ -38,6 +38,23 @@ TEST_F(LibRadosList, ListObjects) { rados_nobjects_list_close(ctx); } +TEST_F(LibRadosList, ListObjectsZeroInName) { + char buf[128]; + memset(buf, 0xcc, sizeof(buf)); + ASSERT_EQ(0, rados_write(ioctx, "foo\0bar", buf, sizeof(buf), 0)); + rados_list_ctx_t ctx; + ASSERT_EQ(0, rados_nobjects_list_open(ioctx, &ctx)); + const char *entry; + size_t entry_size; + bool foundit = false; + while (rados_nobjects_list_next2(ctx, &entry, NULL, NULL, + &entry_size, NULL, NULL) != -ENOENT) { + foundit = true; + ASSERT_EQ(std::string(entry, entry_size), "foo\0bar"); + } + ASSERT_TRUE(foundit); + rados_nobjects_list_close(ctx); +} static void check_list( std::set& myset,