From: Razvan Becheriu Date: Fri, 15 Nov 2019 19:59:01 +0000 (+0200) Subject: [#891,!592] updated unit tests X-Git-Tag: Kea-1.7.5~97 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a6d2cd1afdd30622905097c328b5ba38de658ecb;p=thirdparty%2Fkea.git [#891,!592] updated unit tests --- diff --git a/src/lib/stats/context.cc b/src/lib/stats/context.cc index 1a56292564..ba1e4773e7 100644 --- a/src/lib/stats/context.cc +++ b/src/lib/stats/context.cc @@ -65,7 +65,7 @@ void StatContext::clear() { MultiThreadingMgr::call(mutex_, [&]() {stats_.clear();}); } -void StatContext::reset() { +void StatContext::resetAll() { auto lambda = [&]() { // Let's iterate over all stored statistics... for (auto s : stats_) { @@ -91,24 +91,24 @@ StatContext::getAll() const { } void -StatContext::setMaxSampleAgeAll(const StatsDuration& duration) { +StatContext::setMaxSampleCountAll(uint32_t max_samples) { auto lambda = [&]() { // Let's iterate over all stored statistics... for (auto s : stats_) { - // ... and set duration limit for each statistic. - s.second->setMaxSampleAge(duration); + // ... and set count limit for each statistic. + s.second->setMaxSampleCount(max_samples); } }; MultiThreadingMgr::call(mutex_, lambda); } void -StatContext::setMaxSampleCountAll(uint32_t max_samples) { +StatContext::setMaxSampleAgeAll(const StatsDuration& duration) { auto lambda = [&]() { // Let's iterate over all stored statistics... for (auto s : stats_) { - // ... and set count limit for each statistic. - s.second->setMaxSampleCount(max_samples); + // ... and set duration limit for each statistic. + s.second->setMaxSampleAge(duration); } }; MultiThreadingMgr::call(mutex_, lambda); diff --git a/src/lib/stats/context.h b/src/lib/stats/context.h index 85de3e783f..d9704ba7f5 100644 --- a/src/lib/stats/context.h +++ b/src/lib/stats/context.h @@ -54,7 +54,7 @@ public: void clear(); /// @brief Resets all observations - void reset(); + void resetAll(); /// @brief Sets max sample count for all observations /// @param max_samples value to be set for all observations diff --git a/src/lib/stats/stats_mgr.cc b/src/lib/stats/stats_mgr.cc index 0eccf4cd16..0efb6f8962 100644 --- a/src/lib/stats/stats_mgr.cc +++ b/src/lib/stats/stats_mgr.cc @@ -198,7 +198,7 @@ StatsMgr::getAll() const { void StatsMgr::resetAll() { - MultiThreadingMgr::call(mutex_, [&]() {global_->reset();}); + MultiThreadingMgr::call(mutex_, [&]() {global_->resetAll();}); } size_t diff --git a/src/lib/stats/tests/context_unittest.cc b/src/lib/stats/tests/context_unittest.cc index 938b5b58c8..897f8e356f 100644 --- a/src/lib/stats/tests/context_unittest.cc +++ b/src/lib/stats/tests/context_unittest.cc @@ -8,10 +8,12 @@ #include #include +#include #include using namespace isc::data; using namespace isc::stats; +using namespace boost::posix_time; using namespace std; // Basic test that checks get, add, del methods @@ -83,7 +85,7 @@ TEST(ContextTest, basic) { EXPECT_EQ(result->str(), expected_result->str()); // Reset all statistics. - EXPECT_NO_THROW(ctx.reset()); + EXPECT_NO_THROW(ctx.resetAll()); EXPECT_NO_THROW(from_ctx = ctx.get("alpha")); ASSERT_TRUE(from_ctx); @@ -95,6 +97,28 @@ TEST(ContextTest, basic) { EXPECT_NE(expected_c, from_ctx->getJSON()->str()); EXPECT_EQ(0.0, c->getFloat().first); + // Set sample count for all statistics + EXPECT_NO_THROW(ctx.setMaxSampleCountAll(50)); + + EXPECT_NO_THROW(from_ctx = ctx.get("alpha")); + ASSERT_TRUE(from_ctx); + EXPECT_EQ(from_ctx->getMaxSampleCount().second, 50); + + EXPECT_NO_THROW(from_ctx = ctx.get("gamma")); + ASSERT_TRUE(from_ctx); + EXPECT_EQ(from_ctx->getMaxSampleCount().second, 50); + + // Set sample age for all statistics + EXPECT_NO_THROW(ctx.setMaxSampleAgeAll(millisec::time_duration(0, 4, 5, 3))); + + EXPECT_NO_THROW(from_ctx = ctx.get("alpha")); + ASSERT_TRUE(from_ctx); + EXPECT_EQ(from_ctx->getMaxSampleAge().second, millisec::time_duration(0, 4, 5, 3)); + + EXPECT_NO_THROW(from_ctx = ctx.get("gamma")); + ASSERT_TRUE(from_ctx); + EXPECT_EQ(from_ctx->getMaxSampleAge().second, millisec::time_duration(0, 4, 5, 3)); + // Clear all statistics. EXPECT_NO_THROW(ctx.clear()); EXPECT_EQ(0, ctx.size());