summaryrefslogtreecommitdiffstats
path: root/components/metrics/metrics_log_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'components/metrics/metrics_log_unittest.cc')
-rw-r--r--components/metrics/metrics_log_unittest.cc36
1 files changed, 26 insertions, 10 deletions
diff --git a/components/metrics/metrics_log_unittest.cc b/components/metrics/metrics_log_unittest.cc
index ee299d1..10663b3 100644
--- a/components/metrics/metrics_log_unittest.cc
+++ b/components/metrics/metrics_log_unittest.cc
@@ -8,6 +8,7 @@
#include "base/base64.h"
#include "base/basictypes.h"
+#include "base/memory/scoped_vector.h"
#include "base/metrics/bucket_ranges.h"
#include "base/metrics/sample_vector.h"
#include "base/prefs/pref_service.h"
@@ -17,6 +18,7 @@
#include "components/metrics/metrics_pref_names.h"
#include "components/metrics/metrics_state_manager.h"
#include "components/metrics/proto/chrome_user_metrics_extension.pb.h"
+#include "components/metrics/test_metrics_provider.h"
#include "components/metrics/test_metrics_service_client.h"
#include "components/variations/active_field_trials.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -332,11 +334,13 @@ TEST_F(MetricsLogTest, InitialLogStabilityMetrics) {
MetricsLog::INITIAL_STABILITY_LOG,
&client,
&prefs_);
- std::vector<MetricsProvider*> metrics_providers;
- log.RecordEnvironment(metrics_providers,
- std::vector<variations::ActiveGroupId>(),
- kInstallDate, kEnabledDate);
- log.RecordStabilityMetrics(metrics_providers, base::TimeDelta(),
+ TestMetricsProvider* test_provider = new TestMetricsProvider();
+ ScopedVector<MetricsProvider> metrics_providers;
+ metrics_providers.push_back(test_provider);
+ log.RecordEnvironment(metrics_providers.get(),
+ std::vector<variations::ActiveGroupId>(), kInstallDate,
+ kEnabledDate);
+ log.RecordStabilityMetrics(metrics_providers.get(), base::TimeDelta(),
base::TimeDelta());
const SystemProfileProto_Stability& stability =
log.system_profile().stability();
@@ -349,17 +353,24 @@ TEST_F(MetricsLogTest, InitialLogStabilityMetrics) {
EXPECT_TRUE(stability.has_breakpad_registration_failure_count());
EXPECT_TRUE(stability.has_debugger_present_count());
EXPECT_TRUE(stability.has_debugger_not_present_count());
+
+ // The test provider should have been called upon to provide initial
+ // stability and regular stability metrics.
+ EXPECT_TRUE(test_provider->provide_initial_stability_metrics_called());
+ EXPECT_TRUE(test_provider->provide_stability_metrics_called());
}
TEST_F(MetricsLogTest, OngoingLogStabilityMetrics) {
TestMetricsServiceClient client;
TestMetricsLog log(
kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
- std::vector<MetricsProvider*> metrics_providers;
- log.RecordEnvironment(metrics_providers,
- std::vector<variations::ActiveGroupId>(),
- kInstallDate, kEnabledDate);
- log.RecordStabilityMetrics(metrics_providers, base::TimeDelta(),
+ TestMetricsProvider* test_provider = new TestMetricsProvider();
+ ScopedVector<MetricsProvider> metrics_providers;
+ metrics_providers.push_back(test_provider);
+ log.RecordEnvironment(metrics_providers.get(),
+ std::vector<variations::ActiveGroupId>(), kInstallDate,
+ kEnabledDate);
+ log.RecordStabilityMetrics(metrics_providers.get(), base::TimeDelta(),
base::TimeDelta());
const SystemProfileProto_Stability& stability =
log.system_profile().stability();
@@ -372,6 +383,11 @@ TEST_F(MetricsLogTest, OngoingLogStabilityMetrics) {
EXPECT_FALSE(stability.has_breakpad_registration_failure_count());
EXPECT_FALSE(stability.has_debugger_present_count());
EXPECT_FALSE(stability.has_debugger_not_present_count());
+
+ // The test provider should have been called upon to provide regular but not
+ // initial stability metrics.
+ EXPECT_FALSE(test_provider->provide_initial_stability_metrics_called());
+ EXPECT_TRUE(test_provider->provide_stability_metrics_called());
}
TEST_F(MetricsLogTest, ChromeChannelWrittenToProtobuf) {