From 4e26cc0dac2735d5882c08273251790a8b2d8a96 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Fri, 6 Dec 2013 19:33:49 +0100 Subject: [PATCH] crush: unittest CrushWrapper::get_immediate_parent Signed-off-by: Loic Dachary --- src/test/crush/TestCrushWrapper.cc | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/test/crush/TestCrushWrapper.cc b/src/test/crush/TestCrushWrapper.cc index 25394e2e91e1..663b002c4f79 100644 --- a/src/test/crush/TestCrushWrapper.cc +++ b/src/test/crush/TestCrushWrapper.cc @@ -29,6 +29,39 @@ #include "crush/CrushWrapper.h" +TEST(CrushWrapper, get_immediate_parent) { + CrushWrapper *c = new CrushWrapper; + + const int ROOT_TYPE = 1; + c->set_type_name(ROOT_TYPE, "root"); + const int OSD_TYPE = 0; + c->set_type_name(OSD_TYPE, "osd"); + + int rootno; + c->add_bucket(0, CRUSH_BUCKET_STRAW, CRUSH_HASH_RJENKINS1, + ROOT_TYPE, 0, NULL, NULL, &rootno); + c->set_item_name(rootno, "default"); + + int item = 0; + + pair loc; + int ret; + loc = c->get_immediate_parent(item, &ret); + EXPECT_EQ(-ENOENT, ret); + + { + map loc; + loc["root"] = "default"; + + EXPECT_EQ(0, c->insert_item(g_ceph_context, item, 1.0, + "osd.0", loc)); + } + + loc = c->get_immediate_parent(item, &ret); + EXPECT_EQ(0, ret); + EXPECT_EQ("root", loc.first); + EXPECT_EQ("default", loc.second); +} TEST(CrushWrapper, check_item_loc) { CrushWrapper *c = new CrushWrapper; int item = 0; -- 2.47.3