Index: base/metrics/histogram_unittest.cc |
diff --git a/base/metrics/histogram_unittest.cc b/base/metrics/histogram_unittest.cc |
index beb6a71ede63c81168a851d099c9afbe8f2918bb..f621ec5b6ac0b9a31816ebd9720aa4b3e10fd798 100644 |
--- a/base/metrics/histogram_unittest.cc |
+++ b/base/metrics/histogram_unittest.cc |
@@ -16,7 +16,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/metrics/bucket_ranges.h" |
#include "base/metrics/histogram_macros.h" |
-#include "base/metrics/histogram_persistence.h" |
+#include "base/metrics/persistent_histogram_allocator.h" |
#include "base/metrics/persistent_memory_allocator.h" |
#include "base/metrics/sample_vector.h" |
#include "base/metrics/statistics_recorder.h" |
@@ -41,7 +41,7 @@ class HistogramTest : public testing::TestWithParam<bool> { |
// registered). |
InitializeStatisticsRecorder(); |
if (use_persistent_histogram_allocator_) |
- CreatePersistentMemoryAllocator(); |
+ CreatePersistentHistogramAllocator(); |
} |
void TearDown() override { |
@@ -50,7 +50,7 @@ class HistogramTest : public testing::TestWithParam<bool> { |
ASSERT_FALSE(allocator_->IsCorrupt()); |
} |
UninitializeStatisticsRecorder(); |
- DestroyPersistentMemoryAllocator(); |
+ DestroyPersistentHistogramAllocator(); |
} |
void InitializeStatisticsRecorder() { |
@@ -63,27 +63,27 @@ class HistogramTest : public testing::TestWithParam<bool> { |
statistics_recorder_ = NULL; |
} |
- void CreatePersistentMemoryAllocator() { |
+ void CreatePersistentHistogramAllocator() { |
// By getting the results-histogram before any persistent allocator |
// is attached, that histogram is guaranteed not to be stored in |
// any persistent memory segment (which simplifies some tests). |
- GetCreateHistogramResultHistogram(); |
+ PersistentHistogramAllocator::GetCreateHistogramResultHistogram(); |
if (!allocator_memory_) |
allocator_memory_.reset(new char[kAllocatorMemorySize]); |
- delete ReleasePersistentHistogramMemoryAllocatorForTesting(); |
+ PersistentHistogramAllocator::ReleaseGlobalAllocatorForTesting(); |
memset(allocator_memory_.get(), 0, kAllocatorMemorySize); |
- SetPersistentHistogramMemoryAllocator( |
- new PersistentMemoryAllocator( |
- allocator_memory_.get(), kAllocatorMemorySize, 0, |
- 0, "HistogramAllocatorTest", false)); |
- allocator_ = GetPersistentHistogramMemoryAllocator(); |
+ PersistentHistogramAllocator::CreateGlobalAllocatorOnPersistentMemory( |
+ allocator_memory_.get(), kAllocatorMemorySize, 0, 0, |
+ "HistogramAllocatorTest"); |
+ allocator_ = |
+ PersistentHistogramAllocator::GetGlobalAllocator()->memory_allocator(); |
} |
- void DestroyPersistentMemoryAllocator() { |
+ void DestroyPersistentHistogramAllocator() { |
allocator_ = nullptr; |
- delete ReleasePersistentHistogramMemoryAllocatorForTesting(); |
+ PersistentHistogramAllocator::ReleaseGlobalAllocatorForTesting(); |
} |
const bool use_persistent_histogram_allocator_; |
@@ -97,8 +97,7 @@ class HistogramTest : public testing::TestWithParam<bool> { |
}; |
// Run all HistogramTest cases with both heap and persistent memory. |
-INSTANTIATE_TEST_CASE_P(HeapAndPersistent, HistogramTest, |
- testing::Bool()); |
+INSTANTIATE_TEST_CASE_P(HeapAndPersistent, HistogramTest, testing::Bool()); |
// Check for basic syntax and use. |
@@ -126,94 +125,6 @@ TEST_P(HistogramTest, BasicTest) { |
LOCAL_HISTOGRAM_ENUMERATION("Test6Histogram", 129, 130); |
} |
-// Check for basic syntax and use with persistent allocator. |
-TEST_P(HistogramTest, PersistentTest) { |
- if (!use_persistent_histogram_allocator_) |
- return; |
- |
- PersistentMemoryAllocator::MemoryInfo meminfo0; |
- allocator_->GetMemoryInfo(&meminfo0); |
- |
- // Try basic construction |
- HistogramBase* histogram = Histogram::FactoryGet( |
- "TestHistogram", 1, 1000, 10, |
- HistogramBase::kIsPersistent); |
- EXPECT_TRUE(histogram); |
- histogram->CheckName("TestHistogram"); |
- PersistentMemoryAllocator::MemoryInfo meminfo1; |
- allocator_->GetMemoryInfo(&meminfo1); |
- EXPECT_GT(meminfo0.free, meminfo1.free); |
- |
- HistogramBase* linear_histogram = LinearHistogram::FactoryGet( |
- "TestLinearHistogram", 1, 1000, 10, |
- HistogramBase::kIsPersistent); |
- EXPECT_TRUE(linear_histogram); |
- linear_histogram->CheckName("TestLinearHistogram"); |
- PersistentMemoryAllocator::MemoryInfo meminfo2; |
- allocator_->GetMemoryInfo(&meminfo2); |
- EXPECT_GT(meminfo1.free, meminfo2.free); |
- |
- HistogramBase* boolean_histogram = BooleanHistogram::FactoryGet( |
- "TestBooleanHistogram", HistogramBase::kIsPersistent); |
- EXPECT_TRUE(boolean_histogram); |
- boolean_histogram->CheckName("TestBooleanHistogram"); |
- PersistentMemoryAllocator::MemoryInfo meminfo3; |
- allocator_->GetMemoryInfo(&meminfo3); |
- EXPECT_GT(meminfo2.free, meminfo3.free); |
- |
- std::vector<int> custom_ranges; |
- custom_ranges.push_back(1); |
- custom_ranges.push_back(5); |
- HistogramBase* custom_histogram = CustomHistogram::FactoryGet( |
- "TestCustomHistogram", custom_ranges, |
- HistogramBase::kIsPersistent); |
- EXPECT_TRUE(custom_histogram); |
- custom_histogram->CheckName("TestCustomHistogram"); |
- PersistentMemoryAllocator::MemoryInfo meminfo4; |
- allocator_->GetMemoryInfo(&meminfo4); |
- EXPECT_GT(meminfo3.free, meminfo4.free); |
- |
- PersistentMemoryAllocator::Iterator iter; |
- uint32_t type; |
- allocator_->CreateIterator(&iter); |
- EXPECT_NE(0U, allocator_->GetNextIterable(&iter, &type)); // Histogram |
- EXPECT_NE(0U, allocator_->GetNextIterable(&iter, &type)); // LinearHistogram |
- EXPECT_NE(0U, allocator_->GetNextIterable(&iter, &type)); // BooleanHistogram |
- EXPECT_NE(0U, allocator_->GetNextIterable(&iter, &type)); // CustomHistogram |
- EXPECT_EQ(0U, allocator_->GetNextIterable(&iter, &type)); |
- |
- // Create a second allocator and have it access the memory of the first. |
- scoped_ptr<HistogramBase> recovered; |
- PersistentMemoryAllocator recovery( |
- allocator_memory_.get(), kAllocatorMemorySize, 0, |
- 0, std::string(), false); |
- recovery.CreateIterator(&iter); |
- |
- recovered.reset(GetNextPersistentHistogram(&recovery, &iter)); |
- ASSERT_TRUE(recovered); |
- recovered->CheckName("TestHistogram"); |
- |
- recovered.reset(GetNextPersistentHistogram(&recovery, &iter)); |
- ASSERT_TRUE(recovered); |
- recovered->CheckName("TestLinearHistogram"); |
- |
- recovered.reset(GetNextPersistentHistogram(&recovery, &iter)); |
- ASSERT_TRUE(recovered); |
- recovered->CheckName("TestBooleanHistogram"); |
- |
- recovered.reset(GetNextPersistentHistogram(&recovery, &iter)); |
- ASSERT_TRUE(recovered); |
- recovered->CheckName("TestCustomHistogram"); |
- |
- recovered.reset(GetNextPersistentHistogram(&recovery, &iter)); |
- EXPECT_FALSE(recovered); |
- |
- // Use standard macros (but with fixed samples) |
- LOCAL_HISTOGRAM_TIMES("Test2Histogram", TimeDelta::FromDays(1)); |
- LOCAL_HISTOGRAM_COUNTS("Test3Histogram", 30); |
- LOCAL_HISTOGRAM_ENUMERATION("Test6Histogram", 129, 130); |
-} |
- |
// Check that the macro correctly matches histograms by name and records their |
// data together. |
TEST_P(HistogramTest, NameMatchTest) { |