Commit e85ec2b3 authored by Alexei Svitkine's avatar Alexei Svitkine Committed by Commit Bot

Convert ExceptionProcessorTest to use HistogramTester.

Previously, it was querying the StatisticsRecorder
directly, which is not recommended. Use the HistogramTester
helper class which is exactly for this purpose.

Bug: None
Change-Id: I820716f31a96c31540cea14576db616361c63f96
Reviewed-on: https://chromium-review.googlesource.com/894489Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533049}
parent 99cefd86
......@@ -9,16 +9,10 @@
#include <sys/wait.h>
#include "base/mac/os_crash_dumps.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/histogram_samples.h"
#include "base/metrics/statistics_recorder.h"
#include "base/test/histogram_tester.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::HistogramBase;
using base::HistogramSamples;
using base::StatisticsRecorder;
namespace chrome {
// Generate an NSException with the given name.
......@@ -48,9 +42,7 @@ TEST(ExceptionProcessorTest, ExceptionBinning) {
}
TEST(ExceptionProcessorTest, RecordException) {
EXPECT_THAT(StatisticsRecorder::WithName(StatisticsRecorder::GetHistograms(),
"OSX.NSException"),
testing::IsEmpty());
base::HistogramTester tester;
// Record some known exceptions.
RecordExceptionWithUma(ExceptionNamed(NSGenericException));
......@@ -71,23 +63,14 @@ TEST(ExceptionProcessorTest, RecordException) {
RecordExceptionWithUma(nil);
// We should have exactly the right number of exceptions.
const StatisticsRecorder::Histograms histograms =
StatisticsRecorder::WithName(StatisticsRecorder::GetHistograms(),
"OSX.NSException");
ASSERT_THAT(histograms, testing::SizeIs(1));
EXPECT_EQ(HistogramBase::kUmaTargetedHistogramFlag, histograms[0]->flags());
std::unique_ptr<HistogramSamples> samples(histograms[0]->SnapshotSamples());
EXPECT_EQ(4, samples->GetCount(0));
EXPECT_EQ(1, samples->GetCount(1));
EXPECT_EQ(3, samples->GetCount(2));
EXPECT_EQ(2, samples->GetCount(3));
const char kHistogramName[] = "OSX.NSException";
tester.ExpectBucketCount(kHistogramName, 0, 4);
tester.ExpectBucketCount(kHistogramName, 1, 1);
tester.ExpectBucketCount(kHistogramName, 2, 3);
tester.ExpectBucketCount(kHistogramName, 3, 2);
// The unknown exceptions should end up in the overflow bucket.
EXPECT_TRUE(histograms[0]->HasConstructionArguments(1,
kUnknownNSException,
kUnknownNSException + 1));
EXPECT_EQ(4, samples->GetCount(kUnknownNSException));
tester.ExpectBucketCount(kHistogramName, kUnknownNSException, 4);
}
void RaiseExceptionInRunLoop() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment