X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Fcommon%2Fhistogram.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Fcommon%2Fhistogram.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=765f4c97debf25cddb9d6a06acc8e4361defe8ed;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/common/histogram.cc b/src/ceph/src/test/common/histogram.cc deleted file mode 100644 index 765f4c9..0000000 --- a/src/ceph/src/test/common/histogram.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) 2014 Inktank - * - * LGPL2.1 (see COPYING-LGPL2.1) or later - */ - -#include -#include - -#include "common/histogram.h" -#include "include/stringify.h" - -TEST(Histogram, Basic) { - pow2_hist_t h; - - h.add(0); - h.add(0); - h.add(0); - ASSERT_EQ(3, h.h[0]); - ASSERT_EQ(1u, h.h.size()); - - h.add(1); - ASSERT_EQ(3, h.h[0]); - ASSERT_EQ(1, h.h[1]); - ASSERT_EQ(2u, h.h.size()); - - h.add(2); - h.add(2); - ASSERT_EQ(3, h.h[0]); - ASSERT_EQ(1, h.h[1]); - ASSERT_EQ(2, h.h[2]); - ASSERT_EQ(3u, h.h.size()); -} - -TEST(Histogram, Set) { - pow2_hist_t h; - h.set_bin(0, 12); - h.set_bin(2, 12); - ASSERT_EQ(12, h.h[0]); - ASSERT_EQ(0, h.h[1]); - ASSERT_EQ(12, h.h[2]); - ASSERT_EQ(3u, h.h.size()); -} - -TEST(Histogram, Position) { - pow2_hist_t h; - uint64_t lb, ub; - h.add(0); - ASSERT_EQ(-1, h.get_position_micro(-20, &lb, &ub)); -} - -TEST(Histogram, Position1) { - pow2_hist_t h; - h.add(0); - uint64_t lb, ub; - h.get_position_micro(0, &lb, &ub); - ASSERT_EQ(0u, lb); - ASSERT_EQ(1000000u, ub); - h.add(0); - h.add(0); - h.add(0); - h.get_position_micro(0, &lb, &ub); - ASSERT_EQ(0u, lb); - ASSERT_EQ(1000000u, ub); -} - -TEST(Histogram, Position2) { - pow2_hist_t h; - h.add(1); - h.add(1); - uint64_t lb, ub; - h.get_position_micro(0, &lb, &ub); - ASSERT_EQ(0u, lb); - ASSERT_EQ(0u, ub); - h.add(0); - h.get_position_micro(0, &lb, &ub); - ASSERT_EQ(0u, lb); - ASSERT_EQ(333333u, ub); - h.get_position_micro(1, &lb, &ub); - ASSERT_EQ(333333u, lb); - ASSERT_EQ(1000000u, ub); -} - -TEST(Histogram, Position3) { - pow2_hist_t h; - h.h.resize(10, 0); - h.h[0] = 1; - h.h[5] = 1; - uint64_t lb, ub; - h.get_position_micro(4, &lb, &ub); - ASSERT_EQ(500000u, lb); - ASSERT_EQ(500000u, ub); -} - -TEST(Histogram, Position4) { - pow2_hist_t h; - h.h.resize(10, 0); - h.h[0] = UINT_MAX; - h.h[5] = UINT_MAX; - uint64_t lb, ub; - h.get_position_micro(4, &lb, &ub); - ASSERT_EQ(0u, lb); - ASSERT_EQ(0u, ub); -} - -TEST(Histogram, Decay) { - pow2_hist_t h; - h.set_bin(0, 123); - h.set_bin(3, 12); - h.set_bin(5, 1); - h.decay(1); - ASSERT_EQ(61, h.h[0]); - ASSERT_EQ(6, h.h[3]); - ASSERT_EQ(4u, h.h.size()); -} - -/* - * Local Variables: - * compile-command: "cd ../.. ; make -j4 && - * make unittest_histogram && - * valgrind --tool=memcheck --leak-check=full \ - * ./unittest_histogram - * " - * End: - */