// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. // This source code is licensed under both the GPLv2 (found in the // COPYING file in the root directory) and Apache 2.0 License // (found in the LICENSE.Apache file in the root directory). // #include "port/stack_trace.h" #include "test_util/testharness.h" #include "test_util/testutil.h" #include "rocksdb/statistics.h" namespace ROCKSDB_NAMESPACE { class StatisticsTest : public testing::Test {}; // Sanity check to make sure that contents and order of TickersNameMap // match Tickers enum TEST_F(StatisticsTest, SanityTickers) { EXPECT_EQ(static_cast(Tickers::TICKER_ENUM_MAX), TickersNameMap.size()); for (uint32_t t = 0; t < Tickers::TICKER_ENUM_MAX; t++) { auto pair = TickersNameMap[static_cast(t)]; ASSERT_EQ(pair.first, t) << "Miss match at " << pair.second; } } // Sanity check to make sure that contents and order of HistogramsNameMap // match Tickers enum TEST_F(StatisticsTest, SanityHistograms) { EXPECT_EQ(static_cast(Histograms::HISTOGRAM_ENUM_MAX), HistogramsNameMap.size()); for (uint32_t h = 0; h < Histograms::HISTOGRAM_ENUM_MAX; h++) { auto pair = HistogramsNameMap[static_cast(h)]; ASSERT_EQ(pair.first, h) << "Miss match at " << pair.second; } } } // namespace ROCKSDB_NAMESPACE int main(int argc, char** argv) { ROCKSDB_NAMESPACE::port::InstallStackTraceHandler(); ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }