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

Unified Diff: ios/chrome/browser/ui/settings/settings_egtest.mm

Issue 2760973002: Fix SettingsTestCase.testBreakpadReportingFirstLaunch on Official (Closed)
Patch Set: Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/chrome/browser/ui/settings/settings_egtest.mm
diff --git a/ios/chrome/browser/ui/settings/settings_egtest.mm b/ios/chrome/browser/ui/settings/settings_egtest.mm
index 8bcf82e7d2f54a54967bd05959d7fd4e0f8897e3..0bdaae46d911773475948bf56685bfad6d830b1d 100644
--- a/ios/chrome/browser/ui/settings/settings_egtest.mm
+++ b/ios/chrome/browser/ui/settings/settings_egtest.mm
@@ -463,6 +463,17 @@ bool IsCertificateCleared() {
performAction:grey_tap()];
}
+- (void)setMetricsReportingEnabled:(BOOL)reportingEnabled
+ wifiOnly:(BOOL)wifiOnly {
+ chrome_test_util::SetBooleanLocalStatePref(
+ metrics::prefs::kMetricsReportingEnabled, reportingEnabled);
+ chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
+ wifiOnly);
+ // Breakpad uses dispatch_async to update its state. Wait to get to a
+ // consistent state.
+ [[GREYUIThreadExecutor sharedInstance] drainUntilIdle];
+}
+
// Checks for a given service that it is both recording and uploading, where
// appropriate.
- (void)assertMetricsServiceEnabled:(MetricsServiceType)serviceType {
@@ -558,19 +569,13 @@ bool IsCertificateCleared() {
// - Services record data and upload data.
// kMetricsReportingEnabled OFF and kMetricsReportingWifiOnly OFF
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, NO);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- NO);
+ [self setMetricsReportingEnabled:NO wifiOnly:NO];
// Service should be completely disabled.
// I.e. no recording of data, and no uploading of what's been recorded.
[self assertMetricsServiceDisabled:serviceType];
// kMetricsReportingEnabled OFF and kMetricsReportingWifiOnly ON
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, NO);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- YES);
+ [self setMetricsReportingEnabled:NO wifiOnly:YES];
// If kMetricsReportingEnabled is OFF, any service should remain completely
// disabled, i.e. no uploading even if kMetricsReportingWifiOnly is ON.
[self assertMetricsServiceDisabled:serviceType];
@@ -584,10 +589,7 @@ bool IsCertificateCleared() {
// the services, turning on and off according to the rules laid out above.
// kMetricsReportingEnabled ON and kMetricsReportingWifiOnly ON.
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, YES);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- YES);
+ [self setMetricsReportingEnabled:YES wifiOnly:YES];
// Service should be enabled.
[self assertMetricsServiceEnabled:serviceType];
@@ -601,10 +603,7 @@ bool IsCertificateCleared() {
[self assertMetricsServiceEnabled:serviceType];
// kMetricsReportingEnabled ON and kMetricsReportingWifiOnly OFF
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, YES);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- NO);
+ [self setMetricsReportingEnabled:YES wifiOnly:NO];
[self assertMetricsServiceEnabled:serviceType];
#else
// Development build. Do not allow any recording or uploading of data.
@@ -615,18 +614,12 @@ bool IsCertificateCleared() {
// services remain disabled.
// kMetricsReportingEnabled ON and kMetricsReportingWifiOnly ON
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, YES);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- YES);
+ [self setMetricsReportingEnabled:YES wifiOnly:YES];
// Service should remain disabled.
[self assertMetricsServiceDisabled:serviceType];
// kMetricsReportingEnabled ON and kMetricsReportingWifiOnly OFF
- chrome_test_util::SetBooleanLocalStatePref(
- metrics::prefs::kMetricsReportingEnabled, YES);
- chrome_test_util::SetBooleanLocalStatePref(prefs::kMetricsReportingWifiOnly,
- NO);
+ [self setMetricsReportingEnabled:YES wifiOnly:NO];
// Service should remain disabled.
[self assertMetricsServiceDisabled:serviceType];
#endif
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698