expired_histograms_checker_unittest.cc 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/metrics/expired_histograms_checker.h"
  5. #include "base/metrics/metrics_hashes.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace metrics {
  8. TEST(ExpiredHistogramsCheckerTests, BasicTest) {
  9. uint32_t expired_hashes[] = {1, 2, 3};
  10. size_t size = 3;
  11. std::string allowlist_str = "";
  12. ExpiredHistogramsChecker checker(expired_hashes, size, allowlist_str);
  13. EXPECT_TRUE(checker.ShouldRecord(0));
  14. EXPECT_FALSE(checker.ShouldRecord(3));
  15. }
  16. TEST(ExpiredHistogramsCheckerTests, AllowlistTest) {
  17. std::string hist1 = "hist1";
  18. std::string hist2 = "hist2";
  19. std::string hist3 = "hist3";
  20. std::string hist4 = "hist4";
  21. uint32_t expired_hashes[] = {base::HashMetricNameAs32Bits(hist1),
  22. base::HashMetricNameAs32Bits(hist2)};
  23. size_t size = 2;
  24. std::string allowlist_str = hist2 + "," + hist4;
  25. ExpiredHistogramsChecker checker(expired_hashes, size, allowlist_str);
  26. EXPECT_FALSE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist1)));
  27. EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist2)));
  28. EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist3)));
  29. EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist4)));
  30. }
  31. } // namespace metrics