]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_test_rados_api_misc: make CopyFrom omap test be a big object
authorSage Weil <sage@redhat.com>
Thu, 7 Apr 2016 15:40:51 +0000 (11:40 -0400)
committerSage Weil <sage@redhat.com>
Thu, 7 Apr 2016 15:49:08 +0000 (11:49 -0400)
This makes it so we check single-shot path and the one where we have a
temp object to clean up.

Signed-off-by: Sage Weil <sage@redhat.com>
src/test/librados/misc.cc

index ed19e00dd51daaf6582618e28d0c6e70b1c8e333..1bafcab48484bcc658c666cc8483d474a2c7ec7b 100644 (file)
@@ -734,15 +734,29 @@ std::string LibRadosTwoPoolsECPP::src_pool_name;
 
 //copy_from between ecpool and no-ecpool.
 TEST_F(LibRadosTwoPoolsECPP, CopyFrom) {
-  //create object w/ omapheader
+  bufferlist z;
+  z.append_zero(4194304*2);
   bufferlist b;
   b.append("copyfrom");
-  ASSERT_EQ(0, src_ioctx.omap_set_header("foo", b));
 
-  version_t uv = src_ioctx.get_last_version();
-  ObjectWriteOperation op;
-  op.copy_from("foo", src_ioctx, uv);
-  ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("foo.copy", &op));
+  // create big object w/ omapheader
+  {
+    ASSERT_EQ(0, src_ioctx.write_full("foo", z));
+    ASSERT_EQ(0, src_ioctx.omap_set_header("foo", b));
+    version_t uv = src_ioctx.get_last_version();
+    ObjectWriteOperation op;
+    op.copy_from("foo", src_ioctx, uv);
+    ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("foo.copy", &op));
+  }
+
+  // same with small object
+  {
+    ASSERT_EQ(0, src_ioctx.omap_set_header("bar", b));
+    version_t uv = src_ioctx.get_last_version();
+    ObjectWriteOperation op;
+    op.copy_from("bar", src_ioctx, uv);
+    ASSERT_EQ(-EOPNOTSUPP, ioctx.operate("bar.copy", &op));
+  }
 }
 
 TEST_F(LibRadosMiscPP, CopyScrubPP) {