| 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)
|
|
|