| Index: components/metrics/metrics_service_unittest.cc
|
| diff --git a/chrome/browser/metrics/metrics_service_unittest.cc b/components/metrics/metrics_service_unittest.cc
|
| similarity index 85%
|
| rename from chrome/browser/metrics/metrics_service_unittest.cc
|
| rename to components/metrics/metrics_service_unittest.cc
|
| index ceb332866e8f56d15a972b76acc5e579d15923ff..0fae11dfd412db7c70e6b906f9b0072ad9d4f22b 100644
|
| --- a/chrome/browser/metrics/metrics_service_unittest.cc
|
| +++ b/components/metrics/metrics_service_unittest.cc
|
| @@ -7,25 +7,18 @@
|
| #include <string>
|
|
|
| #include "base/bind.h"
|
| +#include "base/message_loop/message_loop.h"
|
| #include "base/prefs/testing_pref_service.h"
|
| #include "base/threading/platform_thread.h"
|
| -#include "chrome/browser/google/google_util.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/test/base/scoped_testing_local_state.h"
|
| -#include "chrome/test/base/testing_browser_process.h"
|
| #include "components/metrics/compression_utils.h"
|
| #include "components/metrics/metrics_log.h"
|
| +#include "components/metrics/metrics_pref_names.h"
|
| #include "components/metrics/metrics_service_observer.h"
|
| #include "components/metrics/metrics_state_manager.h"
|
| #include "components/metrics/test_metrics_service_client.h"
|
| #include "components/variations/metrics_util.h"
|
| -#include "content/public/test/test_browser_thread_bundle.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -#if defined(OS_CHROMEOS)
|
| -#include "chromeos/login/login_state.h"
|
| -#endif // defined(OS_CHROMEOS)
|
| -
|
| namespace {
|
|
|
| using metrics::MetricsLogManager;
|
| @@ -70,23 +63,11 @@ class MetricsServiceTest : public testing::Test {
|
| GetLocalState(),
|
| base::Bind(&MetricsServiceTest::is_metrics_reporting_enabled,
|
| base::Unretained(this)));
|
| -#if defined(OS_CHROMEOS)
|
| - // TODO(blundell): Remove this code once MetricsService no longer creates
|
| - // ChromeOSMetricsProvider. Also remove the #include of login_state.h.
|
| - // (http://crbug.com/375776)
|
| - if (!chromeos::LoginState::IsInitialized())
|
| - chromeos::LoginState::Initialize();
|
| -#endif // defined(OS_CHROMEOS)
|
| }
|
|
|
| virtual ~MetricsServiceTest() {
|
| MetricsService::SetExecutionPhase(MetricsService::UNINITIALIZED_PHASE,
|
| GetLocalState());
|
| -#if defined(OS_CHROMEOS)
|
| - // TODO(blundell): Remove this code once MetricsService no longer creates
|
| - // ChromeOSMetricsProvider.
|
| - chromeos::LoginState::Shutdown();
|
| -#endif // defined(OS_CHROMEOS)
|
| }
|
|
|
| metrics::MetricsStateManager* GetMetricsStateManager() {
|
| @@ -130,10 +111,10 @@ class MetricsServiceTest : public testing::Test {
|
| return is_metrics_reporting_enabled_;
|
| }
|
|
|
| - content::TestBrowserThreadBundle thread_bundle_;
|
| bool is_metrics_reporting_enabled_;
|
| TestingPrefServiceSimple testing_local_state_;
|
| scoped_ptr<metrics::MetricsStateManager> metrics_state_manager_;
|
| + base::MessageLoop message_loop;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest);
|
| };
|
| @@ -170,35 +151,29 @@ TEST_F(MetricsServiceTest, InitialStabilityLogAfterCleanShutDown) {
|
| }
|
|
|
| TEST_F(MetricsServiceTest, InitialStabilityLogAfterCrash) {
|
| - // TODO(asvitkine): Eliminate using |testing_local_state| in favor of using
|
| - // |GetLocalState()| once MetricsService no longer internally creates metrics
|
| - // providers that rely on g_browser_process->local_state() being correctly
|
| - // set up. crbug.com/375776.
|
| - ScopedTestingLocalState testing_local_state(
|
| - TestingBrowserProcess::GetGlobal());
|
| - TestingPrefServiceSimple* local_state = testing_local_state.Get();
|
| EnableMetricsReporting();
|
| - local_state->ClearPref(metrics::prefs::kStabilityExitedCleanly);
|
| + GetLocalState()->ClearPref(metrics::prefs::kStabilityExitedCleanly);
|
|
|
| // Set up prefs to simulate restarting after a crash.
|
|
|
| // Save an existing system profile to prefs, to correspond to what would be
|
| // saved from a previous session.
|
| metrics::TestMetricsServiceClient client;
|
| - TestMetricsLog log("client", 1, &client, local_state);
|
| + TestMetricsLog log("client", 1, &client, GetLocalState());
|
| log.RecordEnvironment(std::vector<metrics::MetricsProvider*>(),
|
| std::vector<variations::ActiveGroupId>());
|
|
|
| // Record stability build time and version from previous session, so that
|
| // stability metrics (including exited cleanly flag) won't be cleared.
|
| - local_state->SetInt64(metrics::prefs::kStabilityStatsBuildTime,
|
| + GetLocalState()->SetInt64(metrics::prefs::kStabilityStatsBuildTime,
|
| MetricsLog::GetBuildTime());
|
| - local_state->SetString(metrics::prefs::kStabilityStatsVersion,
|
| + GetLocalState()->SetString(metrics::prefs::kStabilityStatsVersion,
|
| client.GetVersionString());
|
|
|
| - local_state->SetBoolean(metrics::prefs::kStabilityExitedCleanly, false);
|
| + GetLocalState()->SetBoolean(metrics::prefs::kStabilityExitedCleanly, false);
|
|
|
| - TestMetricsService service(GetMetricsStateManager(), &client, local_state);
|
| + TestMetricsService service(
|
| + GetMetricsStateManager(), &client, GetLocalState());
|
| service.InitializeMetricsRecordingState();
|
|
|
| // The initial stability log should be generated and persisted in unsent logs.
|
|
|