]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/test/common/test_weighted_priority_queue.cc
update sources to v12.1.1
[ceph.git] / ceph / src / test / common / test_weighted_priority_queue.cc
index b32c2ce2f0db98a9beffc241992a4cf171ca9fe6..9bb87177147c69b30b128b8339e3f6749311e940 100644 (file)
@@ -197,86 +197,6 @@ TEST_F(WeightedPriorityQueueTest, wpq_test_random) {
   test_queue(rand() % 500 + 500, true);
 } 
 
-template <typename T>
-struct Greater {
-  const T rhs;
-  std::list<T> *removed;
-  Greater(const T &v, std::list<T> *removed) : rhs(v), removed(removed) {}
-  bool operator()(const T &lhs) {
-    if (std::get<2>(lhs) > std::get<2>(rhs)) {
-      if (removed)
-       removed->push_back(lhs);
-      return true;
-    } else {
-      return false;
-    }
-  }
-};
-
-TEST_F(WeightedPriorityQueueTest, wpq_test_remove_by_filter_null) {
-  WQ wq(0, 0);
-  LQ strictq, normq;
-  unsigned num_items = 100;
-  fill_queue(wq, strictq, normq, num_items);
-  // Pick a value that we didn't enqueue
-  Removed wq_removed;
-  Greater<Item> pred(std::make_tuple(0, 0, 1 << 17), &wq_removed);
-  wq.remove_by_filter(pred);
-  EXPECT_EQ(0u, wq_removed.size());
-}
-
-TEST_F(WeightedPriorityQueueTest, wpq_test_remove_by_filter) {
-  WQ wq(0, 0);
-  LQ strictq, normq;
-  unsigned num_items = 1000;
-  fill_queue(wq, strictq, normq, num_items);
-  Greater<Item> pred2(std::make_tuple(0, 0, (1 << 16) - (1 << 16)/10), nullptr);
-  Removed r_strictq, r_normq;
-  unsigned num_to_remove = 0;
-  // Figure out from what has been queued what we
-  // expect to be removed
-  for (LQ::iterator pi = strictq.begin();
-       pi != strictq.end(); ++pi) {
-    for (KlassItem::iterator ki = pi->second.begin();
-        ki != pi->second.end(); ++ki) {
-      for (ItemList::iterator li = ki->second.begin();
-          li != ki->second.end(); ++li) {
-       if (pred2(li->second)) {
-         ++num_to_remove;
-       }
-      }
-    }
-  }
-  for (LQ::iterator pi = normq.begin();
-       pi != normq.end(); ++pi) {
-    for (KlassItem::iterator ki = pi->second.begin();
-        ki != pi->second.end(); ++ki) {
-      for (ItemList::iterator li = ki->second.begin();
-          li != ki->second.end(); ++li) {
-       if (pred2(li->second)) {
-         ++num_to_remove;
-       }
-      }
-    }
-  }
-  Removed wq_removed;
-  Greater<Item> pred(
-    std::make_tuple(0, 0, (1 << 16) - (1 << 16)/10),
-    &wq_removed);
-  wq.remove_by_filter(pred);
-  // Check that what was removed was correct
-  for (Removed::iterator it = wq_removed.begin();
-       it != wq_removed.end(); ++it) {
-    EXPECT_TRUE(pred2(*it));
-  }
-  EXPECT_EQ(num_to_remove, wq_removed.size());
-  EXPECT_EQ(num_items - num_to_remove, wq.length());
-  // Make sure that none were missed
-  while (!(wq.empty())) {
-    EXPECT_FALSE(pred(wq.dequeue()));
-  }
-}
-
 TEST_F(WeightedPriorityQueueTest, wpq_test_remove_by_class_null) {
   WQ wq(0, 0);
   LQ strictq, normq;