| Index: components/metrics/call_stack_profile_metrics_provider_unittest.cc
|
| diff --git a/components/metrics/call_stack_profile_metrics_provider_unittest.cc b/components/metrics/call_stack_profile_metrics_provider_unittest.cc
|
| index a4e3efb9cc9935311307079f48aa345fb83d8628..26a05dee1fc8f1e3b1b0f59eb007c7e0af7158c5 100644
|
| --- a/components/metrics/call_stack_profile_metrics_provider_unittest.cc
|
| +++ b/components/metrics/call_stack_profile_metrics_provider_unittest.cc
|
| @@ -4,9 +4,11 @@
|
|
|
| #include "components/metrics/call_stack_profile_metrics_provider.h"
|
|
|
| +#include "base/metrics/field_trial.h"
|
| #include "base/profiler/stack_sampling_profiler.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
|
| +#include "components/variations/entropy_provider.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| using base::StackSamplingProfiler;
|
| @@ -17,8 +19,33 @@ using Sample = StackSamplingProfiler::Sample;
|
|
|
| namespace metrics {
|
|
|
| +// This test fixture enables the field trial that
|
| +// CallStackProfileMetricsProvider depends on to report profiles.
|
| +class CallStackProfileMetricsProviderTest : public testing::Test {
|
| + public:
|
| + CallStackProfileMetricsProviderTest()
|
| + : field_trial_list_(new base::FieldTrialList(
|
| + new metrics::SHA1EntropyProvider("foo"))) {
|
| + base::FieldTrialList::CreateFieldTrial(
|
| + FieldTrialState::kFieldTrialName,
|
| + FieldTrialState::kReportProfilesGroupName);
|
| + }
|
| +
|
| + ~CallStackProfileMetricsProviderTest() override {}
|
| +
|
| + private:
|
| + // Exposes field trial/group names from the CallStackProfileMetricsProvider.
|
| + class FieldTrialState : public CallStackProfileMetricsProvider {
|
| + public:
|
| + using CallStackProfileMetricsProvider::kFieldTrialName;
|
| + using CallStackProfileMetricsProvider::kReportProfilesGroupName;
|
| + };
|
| +
|
| + const scoped_ptr<base::FieldTrialList> field_trial_list_;
|
| +};
|
| +
|
| // Checks that all properties from multiple profiles are filled as expected.
|
| -TEST(CallStackProfileMetricsProviderTest, MultipleProfiles) {
|
| +TEST_F(CallStackProfileMetricsProviderTest, MultipleProfiles) {
|
| const uintptr_t module1_base_address = 0x1000;
|
| const uintptr_t module2_base_address = 0x2000;
|
| const uintptr_t module3_base_address = 0x3000;
|
| @@ -229,7 +256,7 @@ TEST(CallStackProfileMetricsProviderTest, MultipleProfiles) {
|
|
|
| // Checks that all duplicate samples are collapsed with
|
| // preserve_sample_ordering = false.
|
| -TEST(CallStackProfileMetricsProviderTest, RepeatedStacksUnordered) {
|
| +TEST_F(CallStackProfileMetricsProviderTest, RepeatedStacksUnordered) {
|
| const uintptr_t module_base_address = 0x1000;
|
|
|
| const Module modules[] = {
|
| @@ -306,7 +333,7 @@ TEST(CallStackProfileMetricsProviderTest, RepeatedStacksUnordered) {
|
|
|
| // Checks that only contiguous duplicate samples are collapsed with
|
| // preserve_sample_ordering = true.
|
| -TEST(CallStackProfileMetricsProviderTest, RepeatedStacksOrdered) {
|
| +TEST_F(CallStackProfileMetricsProviderTest, RepeatedStacksOrdered) {
|
| const uintptr_t module_base_address = 0x1000;
|
|
|
| const Module modules[] = {
|
| @@ -381,9 +408,8 @@ TEST(CallStackProfileMetricsProviderTest, RepeatedStacksOrdered) {
|
| }
|
| }
|
|
|
| -
|
| // Checks that unknown modules produce an empty Entry.
|
| -TEST(CallStackProfileMetricsProviderTest, UnknownModule) {
|
| +TEST_F(CallStackProfileMetricsProviderTest, UnknownModule) {
|
| const Frame frame(reinterpret_cast<const void*>(0x1000),
|
| Frame::kUnknownModuleIndex);
|
|
|
|
|