]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test/rados-api/io: add TruncTest
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Mon, 8 Aug 2011 23:13:05 +0000 (16:13 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Tue, 9 Aug 2011 23:02:52 +0000 (16:02 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/test/rados-api/io.cc

index 9f030a42986ad65889a0e022b18bf4be62ccd964..52ebbe75e67134a3edadfc5d87a3af62a114e16a 100644 (file)
@@ -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));
+}