From 9634cec809118c5b0ea0eb2b8aba926f17211685 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 18 Mar 2016 11:22:00 -0700 Subject: [PATCH] store_test: add a TryMoveRename test Signed-off-by: Samuel Just --- src/test/objectstore/store_test.cc | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index e1f01cdbf78..79c6b3f51f2 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, -- 2.47.3