X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fosd%2Ftest_pg_transaction.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Fosd%2Ftest_pg_transaction.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=63b6197bf2dc170b129c98fdabaaa2b1c9a2f3b8;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/osd/test_pg_transaction.cc b/src/ceph/src/test/osd/test_pg_transaction.cc deleted file mode 100644 index 63b6197..0000000 --- a/src/ceph/src/test/osd/test_pg_transaction.cc +++ /dev/null @@ -1,129 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * Ceph - scalable distributed file system - * - * Copyright (C) 2016 Red Hat - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#include -#include "osd/PGTransaction.h" - -TEST(pgtransaction, simple) -{ - hobject_t h; - PGTransaction t; - ASSERT_TRUE(t.empty()); - t.nop(h); - ASSERT_FALSE(t.empty()); - unsigned num = 0; - t.safe_create_traverse( - [&](const pair &p) { - ASSERT_EQ(p.first, h); - using T = PGTransaction::ObjectOperation::Init; - ASSERT_TRUE(boost::get(&p.second.init_type)); - ++num; - }); - ASSERT_EQ(num, 1u); -} - -TEST(pgtransaction, clone_safe_create_traverse) -{ - hobject_t h, h2; - h2.snap = 1; - PGTransaction t; - ASSERT_TRUE(t.empty()); - t.nop(h2); - ASSERT_FALSE(t.empty()); - t.clone(h, h2); - unsigned num = 0; - t.safe_create_traverse( - [&](const pair &p) { - using T = PGTransaction::ObjectOperation::Init; - if (num == 0) { - ASSERT_EQ(p.first, h); - ASSERT_TRUE(boost::get(&p.second.init_type)); - ASSERT_EQ( - boost::get(&p.second.init_type)->source, - h2); - } else if (num == 1) { - ASSERT_EQ(p.first, h2); - ASSERT_TRUE(boost::get(&p.second.init_type)); - } else { - ASSERT_LT(num, 2u); - } - ++num; - }); -} - -TEST(pgtransaction, clone_safe_create_traverse2) -{ - hobject_t h, h2, h3; - h.snap = 10; - h2.snap = 5; - h3.snap = 3; - PGTransaction t; - ASSERT_TRUE(t.empty()); - t.nop(h3); - ASSERT_FALSE(t.empty()); - t.clone(h, h2); - t.remove(h2); - t.clone(h2, h3); - unsigned num = 0; - t.safe_create_traverse( - [&](const pair &p) { - using T = PGTransaction::ObjectOperation::Init; - if (num == 0) { - ASSERT_EQ(p.first, h); - ASSERT_TRUE(boost::get(&p.second.init_type)); - ASSERT_EQ( - boost::get(&p.second.init_type)->source, - h2); - } else if (num == 1) { - ASSERT_EQ(p.first, h2); - ASSERT_TRUE(boost::get(&p.second.init_type)); - ASSERT_EQ( - boost::get(&p.second.init_type)->source, - h3); - } else if (num == 2) { - ASSERT_EQ(p.first, h3); - ASSERT_TRUE(boost::get(&p.second.init_type)); - } else { - ASSERT_LT(num, 3u); - } - ++num; - }); -} - -TEST(pgtransaction, clone_safe_create_traverse3) -{ - hobject_t h, h2, h3; - h.snap = 10; - h2.snap = 5; - h3.snap = 3; - PGTransaction t; - t.remove(h); - t.remove(h2); - t.clone(h2, h3); - unsigned num = 0; - t.safe_create_traverse( - [&](const pair &p) { - using T = PGTransaction::ObjectOperation::Init; - if (p.first == h) { - ASSERT_TRUE(p.second.is_delete()); - } else if (p.first == h2) { - ASSERT_TRUE(boost::get(&p.second.init_type)); - ASSERT_EQ( - boost::get(&p.second.init_type)->source, - h3); - } - ASSERT_LT(num, 2u); - ++num; - }); -}