Fix flaky chrome://metrics-internals test
The test is flaky on Chrome-branded builds on Windows.
This is because:
1. Apparently, in Chrome-branded browsertests builds, we are
considered on the "Stable" channel.
2. Windows is sampled at 10% on Stable for UMA
So the test fails 90% of the time on official builders (when we are
sampled out, metrics service is disabled).
This CL fixes this by simulating being sampled in.
Bug: 1394384
Change-Id: I6e47b0d21ab660740ec5d02ef8a3e768d57872f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4073404
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Auto-Submit: Luc Nguyen <lucnguyen@google.com>
Commit-Queue: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1078584}
diff --git a/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.cc b/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.cc
index abd5a0f..a5069df 100644
--- a/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.cc
+++ b/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
+#include "chrome/browser/metrics/chrome_metrics_services_manager_client.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/test/base/in_process_browser_test.h"
@@ -21,6 +22,11 @@
ChromeMetricsServiceAccessor::SetMetricsAndCrashReportingForTesting(
&metrics_enabled_);
+ // Simulate being sampled in so that metrics reporting is not disabled due to
+ // being sampled out.
+ feature_list_.InitAndEnableFeature(
+ metrics::internal::kMetricsReportingFeature);
+
WebUIBrowserTest::SetUp();
}
diff --git a/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.h b/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.h
index 8305324..cbae815 100644
--- a/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.h
+++ b/chrome/test/data/webui/metrics_internals/metrics_internals_ui_browsertest.h
@@ -5,6 +5,7 @@
#ifndef CHROME_TEST_DATA_WEBUI_METRICS_INTERNALS_METRICS_INTERNALS_UI_BROWSERTEST_H_
#define CHROME_TEST_DATA_WEBUI_METRICS_INTERNALS_METRICS_INTERNALS_UI_BROWSERTEST_H_
+#include "base/test/scoped_feature_list.h"
#include "chrome/test/base/web_ui_browser_test.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents_observer.h"
@@ -26,6 +27,8 @@
void DOMContentLoaded(content::RenderFrameHost* render_frame_host) override;
bool metrics_enabled_ = true;
+
+ base::test::ScopedFeatureList feature_list_;
};
#endif // CHROME_TEST_DATA_WEBUI_METRICS_INTERNALS_METRICS_INTERNALS_UI_BROWSERTEST_H_