| Index: base/metrics/histogram_unittest.cc
|
| ===================================================================
|
| --- base/metrics/histogram_unittest.cc (revision 64845)
|
| +++ base/metrics/histogram_unittest.cc (working copy)
|
| @@ -308,57 +308,4 @@
|
| }
|
|
|
| } // namespace
|
| -
|
| -//------------------------------------------------------------------------------
|
| -// We can't be an an anonymous namespace while being friends, so we pop back
|
| -// out to the base namespace here. We need to be friends to corrupt the
|
| -// internals of the histogram and/or sampleset.
|
| -TEST(HistogramTest, CorruptSampleCounts) {
|
| - scoped_refptr<Histogram> histogram = Histogram::FactoryGet(
|
| - "Histogram", 1, 64, 8, Histogram::kNoFlags); // As per header file.
|
| -
|
| - EXPECT_EQ(0, histogram->sample_.redundant_count());
|
| - histogram->Add(20); // Add some samples.
|
| - histogram->Add(40);
|
| - EXPECT_EQ(2, histogram->sample_.redundant_count());
|
| -
|
| - Histogram::SampleSet snapshot;
|
| - histogram->SnapshotSample(&snapshot);
|
| - EXPECT_EQ(Histogram::NO_INCONSISTENCIES, 0);
|
| - EXPECT_EQ(0, histogram->FindCorruption(snapshot)); // No default corruption.
|
| - EXPECT_EQ(2, snapshot.redundant_count());
|
| -
|
| - snapshot.counts_[3] += 100; // Sample count won't match redundant count.
|
| - EXPECT_EQ(Histogram::COUNT_LOW_ERROR, histogram->FindCorruption(snapshot));
|
| - snapshot.counts_[2] -= 200;
|
| - EXPECT_EQ(Histogram::COUNT_HIGH_ERROR, histogram->FindCorruption(snapshot));
|
| -
|
| - // But we can't spot a corruption if it is compensated for.
|
| - snapshot.counts_[1] += 100;
|
| - EXPECT_EQ(0, histogram->FindCorruption(snapshot));
|
| -}
|
| -
|
| -TEST(HistogramTest, CorruptBucketBounds) {
|
| - scoped_refptr<Histogram> histogram = Histogram::FactoryGet(
|
| - "Histogram", 1, 64, 8, Histogram::kNoFlags); // As per header file.
|
| -
|
| - Histogram::SampleSet snapshot;
|
| - histogram->SnapshotSample(&snapshot);
|
| - EXPECT_EQ(Histogram::NO_INCONSISTENCIES, 0);
|
| - EXPECT_EQ(0, histogram->FindCorruption(snapshot)); // No default corruption.
|
| -
|
| - std::swap(histogram->ranges_[1], histogram->ranges_[2]);
|
| - EXPECT_EQ(Histogram::BUCKET_ORDER_ERROR, histogram->FindCorruption(snapshot));
|
| -
|
| - std::swap(histogram->ranges_[1], histogram->ranges_[2]);
|
| - EXPECT_EQ(0, histogram->FindCorruption(snapshot));
|
| -
|
| - ++histogram->ranges_[3];
|
| - EXPECT_EQ(Histogram::RANGE_CHECKSUM_ERROR,
|
| - histogram->FindCorruption(snapshot));
|
| -
|
| - // Repair histogram so that destructor won't DCHECK().
|
| - --histogram->ranges_[3];
|
| -}
|
| -
|
| } // namespace base
|
|
|