From: Colin Patrick McCabe Date: Mon, 8 Aug 2011 23:13:05 +0000 (-0700) Subject: test/rados-api/io: add TruncTest X-Git-Tag: v0.34~81^2~65 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5bee453bb56df00b031e8a0c92dd6b1e30d56a69;p=ceph.git test/rados-api/io: add TruncTest Signed-off-by: Colin McCabe --- diff --git a/src/test/rados-api/io.cc b/src/test/rados-api/io.cc index 9f030a42986a..52ebbe75e671 100644 --- a/src/test/rados-api/io.cc +++ b/src/test/rados-api/io.cc @@ -94,3 +94,21 @@ TEST(LibRadosIo, AppendRoundTrip) { rados_ioctx_destroy(ioctx); ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); } + +TEST(LibRadosIo, TruncTest) { + char buf[128]; + char buf2[sizeof(buf)]; + rados_t cluster; + rados_ioctx_t ioctx; + std::string pool_name = get_temp_pool_name(); + ASSERT_EQ(0, create_one_pool(pool_name, &cluster)); + rados_ioctx_create(cluster, pool_name.c_str(), &ioctx); + memset(buf, 0xaa, sizeof(buf)); + ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf))); + ASSERT_EQ(0, rados_trunc(ioctx, "foo", sizeof(buf) / 2)); + memset(buf2, 0, sizeof(buf2)); + ASSERT_EQ((int)(sizeof(buf)/2), rados_read(ioctx, "foo", buf2, sizeof(buf2), 0)); + ASSERT_EQ(0, memcmp(buf, buf2, sizeof(buf)/2)); + rados_ioctx_destroy(ioctx); + ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster)); +}