Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Side by Side Diff: components/metrics/metrics_service_unittest.cc

Issue 1985733002: Always check if providers have initial stability metrics. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changed order of test expectations Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/metrics/metrics_service.cc ('k') | components/metrics/test_metrics_provider.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « components/metrics/metrics_service.cc ('k') | components/metrics/test_metrics_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698