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

Unified Diff: tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py

Issue 2357723002: Add integration tests for QUIC (Closed)
Patch Set: ps Created 4 years, 3 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
Index: tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
diff --git a/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py b/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
index 1c6fdaa4ff07492e00d16a5c02764cb034070af7..8035bfd8dcc2985928081dda5c0039080cefb3a1 100644
--- a/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
+++ b/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
@@ -72,6 +72,10 @@ class ChromeProxyBypass(ChromeProxyValidation):
restart_after_each_page=True,
metrics=metrics.ChromeProxyMetric())
+ def CustomizeBrowserOptions(self, options):
+ super(ChromeProxyBypass, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs('--disable-quic')
+
def AddResults(self, tab, results):
self._metrics.AddResultsForBypass(tab, results)
@@ -205,8 +209,8 @@ class ChromeProxyBadHTTPSFallback(ChromeProxyValidation):
self._is_chrome_proxy_enabled = True
def CustomizeBrowserOptions(self, options):
- super(ChromeProxyBadHTTPSFallback, self).CustomizeBrowserOptions(
- options)
+ super(ChromeProxyBadHTTPSFallback, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs('--disable-quic')
def AddResults(self, tab, results):
self._metrics.AddResultsForBadHTTPSFallback(tab, results)
@@ -279,6 +283,10 @@ class ChromeProxyClientType(ChromeProxyValidation):
metrics=metrics.ChromeProxyMetric())
self._chrome_proxy_client_type = None
+ def CustomizeBrowserOptions(self, options):
+ super(ChromeProxyClientType, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs('--disable-quic')
+
def AddResults(self, tab, results):
# Get the Chrome-Proxy client type from the first page in the page set, so
# that the client type value can be used to determine which of the later
@@ -307,6 +315,7 @@ class ChromeProxyLoFi(ChromeProxyValidation):
# Disable server experiments such as tamper detection.
options.AppendExtraBrowserArgs(
'--data-reduction-proxy-server-experiments-disabled')
+ options.AppendExtraBrowserArgs('--disable-quic')
def AddResults(self, tab, results):
self._metrics.AddResultsForLoFi(tab, results)
@@ -341,6 +350,7 @@ class ChromeProxyCacheLoFiDisabled(ChromeProxyValidation):
'--data-reduction-proxy-lo-fi=always-on')
self.options.AppendExtraBrowserArgs(
'--data-reduction-proxy-server-experiments-disabled')
+ self.options.AppendExtraBrowserArgs('--disable-quic')
self._is_lo_fi_enabled = True
else:
# Second page load, disable LoFi. Chrome proxy is still enabled. Disable
@@ -349,6 +359,7 @@ class ChromeProxyCacheLoFiDisabled(ChromeProxyValidation):
'--data-reduction-proxy-lo-fi=always-on')
self.options.AppendExtraBrowserArgs(
'--data-reduction-proxy-server-experiments-disabled')
+ self.options.AppendExtraBrowserArgs('--disable-quic')
self._is_lo_fi_enabled = False
def WillNavigateToPage(self, page, tab):
@@ -393,8 +404,10 @@ class ChromeProxyCacheProxyDisabled(ChromeProxyValidation):
'--data-reduction-proxy-lo-fi=always-on')
self.options.AppendExtraBrowserArgs(
'--data-reduction-proxy-server-experiments-disabled')
+ self.options.AppendExtraBrowserArgs('--disable-quic')
else:
# Second page load, disable chrome proxy. LoFi is still enabled.
+ self.options.AppendExtraBrowserArgs('--disable-quic')
self.DisableChromeProxy()
def WillNavigateToPage(self, page, tab):
@@ -422,6 +435,7 @@ class ChromeProxyLoFiPreview(ChromeProxyValidation):
'--data-reduction-proxy-lo-fi=always-on')
options.AppendExtraBrowserArgs(
'--enable-data-reduction-proxy-lo-fi-preview')
+ options.AppendExtraBrowserArgs('--disable-quic')
def AddResults(self, tab, results):
self._metrics.AddResultsForLoFiPreview(tab, results)
@@ -459,6 +473,7 @@ class ChromeProxyPassThrough(ChromeProxyValidation):
def CustomizeBrowserOptions(self, options):
super(ChromeProxyPassThrough, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs('--disable-quic')
def AddResults(self, tab, results):
self._metrics.AddResultsForPassThrough(tab, results)
@@ -564,6 +579,48 @@ class ChromeProxySmoke(ChromeProxyValidation):
for add_result in page_to_metrics[self._page.name]:
add_result(tab, results)
+class ChromeProxyQuicSmoke(ChromeProxyValidation):
+ """Smoke measurement for basic chrome proxy correctness when using a
+ proxy that supports QUIC."""
+
+ def __init__(self):
+ super(ChromeProxyQuicSmoke, self).__init__(restart_after_each_page=True,
+ metrics=metrics.ChromeProxyMetric())
+
+ def CustomizeBrowserOptions(self, options):
+ super(ChromeProxyQuicSmoke, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs(
+ '--enable-quic')
+ options.AppendExtraBrowserArgs(
+ '--data-reduction-proxy-http-proxies=https://proxy.googlezip.net:443')
+ options.AppendExtraBrowserArgs(
+ '--force-fieldtrials=DataReductionProxyUseQuic/Enabled')
+
+ def AddResults(self, tab, results):
+ # Map a page name to its AddResults func.
+ page_to_metrics = {
+ 'header validation': [self._metrics.AddResultsForHeaderValidation],
+ 'compression: image': [
+ self._metrics.AddResultsForHeaderValidation,
+ self._metrics.AddResultsForDataSaving,
+ ],
+ 'compression: javascript': [
+ self._metrics.AddResultsForHeaderValidation,
+ self._metrics.AddResultsForDataSaving,
+ ],
+ 'compression: css': [
+ self._metrics.AddResultsForHeaderValidation,
+ self._metrics.AddResultsForDataSaving,
+ ],
+ 'bypass': [self._metrics.AddResultsForBypass],
+ }
+ if not self._page.name in page_to_metrics:
+ raise page_test.MeasurementFailure(
+ 'Invalid page name (%s) in QUIC smoke. '
+ 'Page name must be one of:\n%s' % (
+ self._page.name, page_to_metrics.keys()))
+ for add_result in page_to_metrics[self._page.name]:
+ add_result(tab, results)
PROXIED = metrics.PROXIED
DIRECT = metrics.DIRECT
@@ -580,6 +637,7 @@ class ChromeProxyClientConfig(ChromeProxyValidation):
super(ChromeProxyClientConfig, self).CustomizeBrowserOptions(options)
options.AppendExtraBrowserArgs(
'--enable-data-reduction-proxy-config-client')
+ options.AppendExtraBrowserArgs('--disable-quic')
def AddResults(self, tab, results):
self._metrics.AddResultsForClientConfig(tab, results)
@@ -707,3 +765,25 @@ class ChromeProxyPingback(ChromeProxyValidation):
def AddResults(self, tab, results):
self._metrics.AddResultsForPingback(tab, results)
+
+class ChromeProxyQuicTransaction(ChromeProxyValidation):
+ """Chrome quic proxy usage validation when connecting to a proxy that
+ supports QUIC."""
+
+ def __init__(self):
+ super(ChromeProxyQuicTransaction, self).__init__(
+ metrics=metrics.ChromeProxyMetric())
+
+ def CustomizeBrowserOptions(self, options):
+ super(ChromeProxyQuicTransaction, self).CustomizeBrowserOptions(options)
+ options.AppendExtraBrowserArgs(
+ '--enable-quic')
+ options.AppendExtraBrowserArgs(
+ '--data-reduction-proxy-http-proxies=https://proxy.googlezip.net:443')
+ options.AppendExtraBrowserArgs(
+ '--force-fieldtrials=DataReductionProxyUseQuic/Enabled')
+ options.AppendExtraBrowserArgs(
+ '--enable-stats-collection-bindings')
+
+ def AddResults(self, tab, results):
+ self._metrics.AddResultsForQuicTransaction(tab, results)

Powered by Google App Engine
This is Rietveld 408576698