From: Samuel Just Date: Fri, 18 Mar 2016 18:22:00 +0000 (-0700) Subject: store_test: add a TryMoveRename test X-Git-Tag: v10.1.1~74^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9634cec809118c5b0ea0eb2b8aba926f17211685;p=ceph.git store_test: add a TryMoveRename test Signed-off-by: Samuel Just --- diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index e1f01cdbf782..79c6b3f51f26 100644 --- a/src/test/objectstore/store_test.cc +++ b/src/test/objectstore/store_test.cc @@ -3441,6 +3441,41 @@ TEST_P(StoreTest, SetAllocHint) { } } +TEST_P(StoreTest, TryMoveRename) { + ObjectStore::Sequencer osr("test"); + coll_t cid; + ghobject_t hoid(hobject_t("test_hint", "", CEPH_NOSNAP, 0, 0, "")); + ghobject_t hoid2(hobject_t("test_hint2", "", CEPH_NOSNAP, 0, 0, "")); + int r; + { + ObjectStore::Transaction t; + t.create_collection(cid, 0); + r = store->apply_transaction(&osr, std::move(t)); + ASSERT_EQ(r, 0); + } + { + ObjectStore::Transaction t; + t.try_rename(cid, hoid, hoid2); + r = store->apply_transaction(&osr, std::move(t)); + ASSERT_EQ(r, 0); + } + { + ObjectStore::Transaction t; + t.touch(cid, hoid); + r = store->apply_transaction(&osr, std::move(t)); + ASSERT_EQ(r, 0); + } + { + ObjectStore::Transaction t; + t.try_rename(cid, hoid, hoid2); + r = store->apply_transaction(&osr, std::move(t)); + ASSERT_EQ(r, 0); + } + struct stat st; + ASSERT_EQ(store->stat(cid, hoid, &st), -2); + ASSERT_EQ(store->stat(cid, hoid2, &st), 0); +} + INSTANTIATE_TEST_CASE_P( ObjectStore, StoreTest,