| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/metrics/metrics_service.h" | 5 #include "components/metrics/metrics_service.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 | 169 |
| 170 TestMetricsServiceClient client; | 170 TestMetricsServiceClient client; |
| 171 TestMetricsService service( | 171 TestMetricsService service( |
| 172 GetMetricsStateManager(), &client, GetLocalState()); | 172 GetMetricsStateManager(), &client, GetLocalState()); |
| 173 | 173 |
| 174 TestMetricsProvider* test_provider = new TestMetricsProvider(); | 174 TestMetricsProvider* test_provider = new TestMetricsProvider(); |
| 175 service.RegisterMetricsProvider( | 175 service.RegisterMetricsProvider( |
| 176 std::unique_ptr<MetricsProvider>(test_provider)); | 176 std::unique_ptr<MetricsProvider>(test_provider)); |
| 177 | 177 |
| 178 service.InitializeMetricsRecordingState(); | 178 service.InitializeMetricsRecordingState(); |
| 179 |
| 179 // No initial stability log should be generated. | 180 // No initial stability log should be generated. |
| 180 EXPECT_FALSE(service.log_manager()->has_unsent_logs()); | 181 EXPECT_FALSE(service.log_manager()->has_unsent_logs()); |
| 181 EXPECT_FALSE(service.log_manager()->has_staged_log()); | 182 EXPECT_FALSE(service.log_manager()->has_staged_log()); |
| 182 | 183 |
| 184 // Ensure that HasInitialStabilityMetrics() is always called on providers, |
| 185 // for consistency, even if other conditions already indicate their presence. |
| 186 EXPECT_TRUE(test_provider->has_initial_stability_metrics_called()); |
| 187 |
| 183 // The test provider should not have been called upon to provide initial | 188 // The test provider should not have been called upon to provide initial |
| 184 // stability nor regular stability metrics. | 189 // stability nor regular stability metrics. |
| 185 EXPECT_FALSE(test_provider->provide_initial_stability_metrics_called()); | 190 EXPECT_FALSE(test_provider->provide_initial_stability_metrics_called()); |
| 186 EXPECT_FALSE(test_provider->provide_stability_metrics_called()); | 191 EXPECT_FALSE(test_provider->provide_stability_metrics_called()); |
| 187 } | 192 } |
| 188 | 193 |
| 189 TEST_F(MetricsServiceTest, InitialStabilityLogAtProviderRequest) { | 194 TEST_F(MetricsServiceTest, InitialStabilityLogAtProviderRequest) { |
| 190 EnableMetricsReporting(); | 195 EnableMetricsReporting(); |
| 191 | 196 |
| 192 // Save an existing system profile to prefs, to correspond to what would be | 197 // Save an existing system profile to prefs, to correspond to what would be |
| (...skipping 22 matching lines...) Expand all Loading... |
| 215 service.RegisterMetricsProvider( | 220 service.RegisterMetricsProvider( |
| 216 std::unique_ptr<MetricsProvider>(test_provider)); | 221 std::unique_ptr<MetricsProvider>(test_provider)); |
| 217 | 222 |
| 218 service.InitializeMetricsRecordingState(); | 223 service.InitializeMetricsRecordingState(); |
| 219 | 224 |
| 220 // The initial stability log should be generated and persisted in unsent logs. | 225 // The initial stability log should be generated and persisted in unsent logs. |
| 221 MetricsLogManager* log_manager = service.log_manager(); | 226 MetricsLogManager* log_manager = service.log_manager(); |
| 222 EXPECT_TRUE(log_manager->has_unsent_logs()); | 227 EXPECT_TRUE(log_manager->has_unsent_logs()); |
| 223 EXPECT_FALSE(log_manager->has_staged_log()); | 228 EXPECT_FALSE(log_manager->has_staged_log()); |
| 224 | 229 |
| 230 // Ensure that HasInitialStabilityMetrics() is always called on providers, |
| 231 // for consistency, even if other conditions already indicate their presence. |
| 232 EXPECT_TRUE(test_provider->has_initial_stability_metrics_called()); |
| 233 |
| 225 // The test provider should have been called upon to provide initial | 234 // The test provider should have been called upon to provide initial |
| 226 // stability and regular stability metrics. | 235 // stability and regular stability metrics. |
| 227 EXPECT_TRUE(test_provider->provide_initial_stability_metrics_called()); | 236 EXPECT_TRUE(test_provider->provide_initial_stability_metrics_called()); |
| 228 EXPECT_TRUE(test_provider->provide_stability_metrics_called()); | 237 EXPECT_TRUE(test_provider->provide_stability_metrics_called()); |
| 229 | 238 |
| 230 // Stage the log and retrieve it. | 239 // Stage the log and retrieve it. |
| 231 log_manager->StageNextLogForUpload(); | 240 log_manager->StageNextLogForUpload(); |
| 232 EXPECT_TRUE(log_manager->has_staged_log()); | 241 EXPECT_TRUE(log_manager->has_staged_log()); |
| 233 | 242 |
| 234 std::string uncompressed_log; | 243 std::string uncompressed_log; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 TestMetricsProvider* test_provider = new TestMetricsProvider(); | 288 TestMetricsProvider* test_provider = new TestMetricsProvider(); |
| 280 service.RegisterMetricsProvider( | 289 service.RegisterMetricsProvider( |
| 281 std::unique_ptr<MetricsProvider>(test_provider)); | 290 std::unique_ptr<MetricsProvider>(test_provider)); |
| 282 service.InitializeMetricsRecordingState(); | 291 service.InitializeMetricsRecordingState(); |
| 283 | 292 |
| 284 // The initial stability log should be generated and persisted in unsent logs. | 293 // The initial stability log should be generated and persisted in unsent logs. |
| 285 MetricsLogManager* log_manager = service.log_manager(); | 294 MetricsLogManager* log_manager = service.log_manager(); |
| 286 EXPECT_TRUE(log_manager->has_unsent_logs()); | 295 EXPECT_TRUE(log_manager->has_unsent_logs()); |
| 287 EXPECT_FALSE(log_manager->has_staged_log()); | 296 EXPECT_FALSE(log_manager->has_staged_log()); |
| 288 | 297 |
| 298 // Ensure that HasInitialStabilityMetrics() is always called on providers, |
| 299 // for consistency, even if other conditions already indicate their presence. |
| 300 EXPECT_TRUE(test_provider->has_initial_stability_metrics_called()); |
| 301 |
| 289 // The test provider should have been called upon to provide initial | 302 // The test provider should have been called upon to provide initial |
| 290 // stability and regular stability metrics. | 303 // stability and regular stability metrics. |
| 291 EXPECT_TRUE(test_provider->provide_initial_stability_metrics_called()); | 304 EXPECT_TRUE(test_provider->provide_initial_stability_metrics_called()); |
| 292 EXPECT_TRUE(test_provider->provide_stability_metrics_called()); | 305 EXPECT_TRUE(test_provider->provide_stability_metrics_called()); |
| 293 | 306 |
| 294 // Stage the log and retrieve it. | 307 // Stage the log and retrieve it. |
| 295 log_manager->StageNextLogForUpload(); | 308 log_manager->StageNextLogForUpload(); |
| 296 EXPECT_TRUE(log_manager->has_staged_log()); | 309 EXPECT_TRUE(log_manager->has_staged_log()); |
| 297 | 310 |
| 298 std::string uncompressed_log; | 311 std::string uncompressed_log; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 TestMetricsProvider* test_provider = new TestMetricsProvider(); | 417 TestMetricsProvider* test_provider = new TestMetricsProvider(); |
| 405 service.RegisterMetricsProvider( | 418 service.RegisterMetricsProvider( |
| 406 std::unique_ptr<MetricsProvider>(test_provider)); | 419 std::unique_ptr<MetricsProvider>(test_provider)); |
| 407 | 420 |
| 408 service.InitializeMetricsRecordingState(); | 421 service.InitializeMetricsRecordingState(); |
| 409 | 422 |
| 410 EXPECT_TRUE(test_provider->init_called()); | 423 EXPECT_TRUE(test_provider->init_called()); |
| 411 } | 424 } |
| 412 | 425 |
| 413 } // namespace metrics | 426 } // namespace metrics |
| OLD | NEW |