| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/metrics/persistent_sample_map.h" | 5 #include "base/metrics/persistent_sample_map.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/metrics/persistent_histogram_allocator.h" | 9 #include "base/metrics/persistent_histogram_allocator.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 | 86 |
| 87 TEST(PersistentSampleMapTest, PersistenceTest) { | 87 TEST(PersistentSampleMapTest, PersistenceTest) { |
| 88 LocalPersistentMemoryAllocator allocator(64 << 10, 0, ""); // 64 KiB | 88 LocalPersistentMemoryAllocator allocator(64 << 10, 0, ""); // 64 KiB |
| 89 | 89 |
| 90 HistogramSamples::Metadata meta12; | 90 HistogramSamples::Metadata meta12; |
| 91 PersistentSparseHistogramDataManager manager1(&allocator); | 91 PersistentSparseHistogramDataManager manager1(&allocator); |
| 92 PersistentSampleMap samples1(12, &manager1, &meta12); | 92 PersistentSampleMap samples1(12, &manager1, &meta12); |
| 93 samples1.Accumulate(1, 100); | 93 samples1.Accumulate(1, 100); |
| 94 samples1.Accumulate(2, 200); | 94 samples1.Accumulate(2, 200); |
| 95 samples1.Accumulate(1, -200); | 95 samples1.Accumulate(1, -200); |
| 96 samples1.Accumulate(-1, 1); |
| 96 EXPECT_EQ(-100, samples1.GetCount(1)); | 97 EXPECT_EQ(-100, samples1.GetCount(1)); |
| 97 EXPECT_EQ(200, samples1.GetCount(2)); | 98 EXPECT_EQ(200, samples1.GetCount(2)); |
| 98 EXPECT_EQ(300, samples1.sum()); | 99 EXPECT_EQ(1, samples1.GetCount(-1)); |
| 99 EXPECT_EQ(100, samples1.TotalCount()); | 100 EXPECT_EQ(299, samples1.sum()); |
| 101 EXPECT_EQ(101, samples1.TotalCount()); |
| 100 EXPECT_EQ(samples1.redundant_count(), samples1.TotalCount()); | 102 EXPECT_EQ(samples1.redundant_count(), samples1.TotalCount()); |
| 101 | 103 |
| 102 PersistentSparseHistogramDataManager manager2(&allocator); | 104 PersistentSparseHistogramDataManager manager2(&allocator); |
| 103 PersistentSampleMap samples2(12, &manager2, &meta12); | 105 PersistentSampleMap samples2(12, &manager2, &meta12); |
| 104 EXPECT_EQ(samples1.id(), samples2.id()); | 106 EXPECT_EQ(samples1.id(), samples2.id()); |
| 105 EXPECT_EQ(samples1.sum(), samples2.sum()); | 107 EXPECT_EQ(samples1.sum(), samples2.sum()); |
| 106 EXPECT_EQ(samples1.redundant_count(), samples2.redundant_count()); | 108 EXPECT_EQ(samples1.redundant_count(), samples2.redundant_count()); |
| 107 EXPECT_EQ(samples1.TotalCount(), samples2.TotalCount()); | 109 EXPECT_EQ(samples1.TotalCount(), samples2.TotalCount()); |
| 108 EXPECT_EQ(-100, samples2.GetCount(1)); | 110 EXPECT_EQ(-100, samples2.GetCount(1)); |
| 109 EXPECT_EQ(200, samples2.GetCount(2)); | 111 EXPECT_EQ(200, samples2.GetCount(2)); |
| 110 EXPECT_EQ(300, samples2.sum()); | 112 EXPECT_EQ(1, samples2.GetCount(-1)); |
| 111 EXPECT_EQ(100, samples2.TotalCount()); | 113 EXPECT_EQ(299, samples2.sum()); |
| 114 EXPECT_EQ(101, samples2.TotalCount()); |
| 112 EXPECT_EQ(samples2.redundant_count(), samples2.TotalCount()); | 115 EXPECT_EQ(samples2.redundant_count(), samples2.TotalCount()); |
| 113 | 116 |
| 117 samples1.Accumulate(-1, -1); |
| 114 EXPECT_EQ(0, samples2.GetCount(3)); | 118 EXPECT_EQ(0, samples2.GetCount(3)); |
| 115 EXPECT_EQ(0, samples1.GetCount(3)); | 119 EXPECT_EQ(0, samples1.GetCount(3)); |
| 116 samples2.Accumulate(3, 300); | 120 samples2.Accumulate(3, 300); |
| 117 EXPECT_EQ(300, samples2.GetCount(3)); | 121 EXPECT_EQ(300, samples2.GetCount(3)); |
| 118 EXPECT_EQ(300, samples1.GetCount(3)); | 122 EXPECT_EQ(300, samples1.GetCount(3)); |
| 119 EXPECT_EQ(samples1.sum(), samples2.sum()); | 123 EXPECT_EQ(samples1.sum(), samples2.sum()); |
| 120 EXPECT_EQ(samples1.redundant_count(), samples2.redundant_count()); | 124 EXPECT_EQ(samples1.redundant_count(), samples2.redundant_count()); |
| 121 EXPECT_EQ(samples1.TotalCount(), samples2.TotalCount()); | 125 EXPECT_EQ(samples1.TotalCount(), samples2.TotalCount()); |
| 122 | 126 |
| 123 EXPECT_EQ(0, samples2.GetCount(4)); | 127 EXPECT_EQ(0, samples2.GetCount(4)); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 | 243 |
| 240 samples.Accumulate(1, 100); | 244 samples.Accumulate(1, 100); |
| 241 it = samples.Iterator(); | 245 it = samples.Iterator(); |
| 242 EXPECT_FALSE(it->Done()); | 246 EXPECT_FALSE(it->Done()); |
| 243 } | 247 } |
| 244 #endif | 248 #endif |
| 245 // (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) && GTEST_HAS_DEATH_TEST | 249 // (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) && GTEST_HAS_DEATH_TEST |
| 246 | 250 |
| 247 } // namespace | 251 } // namespace |
| 248 } // namespace base | 252 } // namespace base |
| OLD | NEW |