Chromium Code Reviews| Index: base/test/histogram_tester.cc |
| diff --git a/base/test/histogram_tester.cc b/base/test/histogram_tester.cc |
| index 5ca3c2fe9e8dd6145f05741fdf6022be49e877e0..cdc67bc121e5ff33cf80df1898bc396a91ba4624 100644 |
| --- a/base/test/histogram_tester.cc |
| +++ b/base/test/histogram_tester.cc |
| @@ -61,6 +61,21 @@ void HistogramTester::ExpectBucketCount( |
| } |
| } |
| +void HistogramTester::ExpectTotalCountExcept(const std::string& name, |
|
Nico
2017/05/09 19:36:45
Move this below ExpectTotalCount() so order in cc
lunalu1
2017/05/10 19:39:38
Done.
|
| + HistogramBase::Sample sample, |
| + HistogramBase::Count count) const { |
| + HistogramBase* histogram = StatisticsRecorder::FindHistogram(name); |
| + EXPECT_NE(nullptr, histogram) |
| + << "Histogram \"" << name << "\" does not exist."; |
| + if (histogram) { |
| + std::unique_ptr<HistogramSamples> samples = histogram->SnapshotSamples(); |
| + CheckTotalCountExcept(name, sample, count, *samples); |
| + } else { |
| + // No histogram means there were zero samples. |
| + EXPECT_EQ(count, 0) << "Histogram \"" << name << "\" does not exist."; |
| + } |
| +} |
| + |
| void HistogramTester::ExpectTotalCount(const std::string& name, |
| HistogramBase::Count count) const { |
| HistogramBase* histogram = StatisticsRecorder::FindHistogram(name); |
| @@ -173,6 +188,27 @@ void HistogramTester::CheckTotalCount(const std::string& name, |
| << expected_count << "). It has (" << actual_count << ")."; |
| } |
| +void HistogramTester::CheckTotalCountExcept( |
|
Nico
2017/05/09 19:36:45
The new code in this file looks pretty similar to
lunalu1
2017/05/10 19:39:38
IMHO, we can implement getters (privately if we do
|
| + const std::string& name, |
| + HistogramBase::Sample sample, |
| + HistogramBase::Count expected_count, |
| + const HistogramSamples& samples) const { |
| + int actual_total_count = samples.TotalCount(); |
| + int actual_bucket_count = samples.GetCount(sample); |
| + |
| + auto histogram_data = histograms_snapshot_.find(name); |
| + if (histogram_data != histograms_snapshot_.end()) { |
| + actual_total_count -= histogram_data->second->TotalCount(); |
| + actual_bucket_count -= histogram_data->second->GetCount(sample); |
| + } |
| + int actual_count = actual_total_count - actual_bucket_count; |
| + |
| + EXPECT_EQ(expected_count, actual_count) |
| + << "Histogram \"" << name |
| + << "\" does not have the right total number of samples (" |
| + << expected_count << "). It has (" << actual_count << ")."; |
| +} |
| + |
| bool Bucket::operator==(const Bucket& other) const { |
| return min == other.min && count == other.count; |
| } |