Commit 6b339cc6 authored by bolian's avatar bolian Committed by Commit bot

Update metrics verification for dev-proxy.

Remove http://aws1.mdw.la/piatek/bypass-demo, which is not bypassed by the server now.

BUG=412497

Committed: https://crrev.com/478bfc70f088fdabd3e0e2da1d399a04d4610a92
Cr-Commit-Position: refs/heads/master@{#294027}

Review URL: https://codereview.chromium.org/553543004

Cr-Commit-Position: refs/heads/master@{#294194}
parent cd68dea4
...@@ -183,7 +183,6 @@ class ChromeProxyHTTPFallbackProbeURL(ChromeProxyValidation): ...@@ -183,7 +183,6 @@ class ChromeProxyHTTPFallbackProbeURL(ChromeProxyValidation):
self._metrics.AddResultsForHTTPFallback(tab, results) self._metrics.AddResultsForHTTPFallback(tab, results)
# Depends on the fix of http://crbug.com/330342.
class ChromeProxyHTTPFallbackViaHeader(ChromeProxyValidation): class ChromeProxyHTTPFallbackViaHeader(ChromeProxyValidation):
"""Correctness measurement for proxy fallback. """Correctness measurement for proxy fallback.
...@@ -210,7 +209,7 @@ class ChromeProxyHTTPFallbackViaHeader(ChromeProxyValidation): ...@@ -210,7 +209,7 @@ class ChromeProxyHTTPFallbackViaHeader(ChromeProxyValidation):
_TEST_SERVER + ":80", _TEST_SERVER + ":80",
self._metrics.effective_proxies['fallback'], self._metrics.effective_proxies['fallback'],
self._metrics.effective_proxies['direct']] self._metrics.effective_proxies['direct']]
bad_proxies = [_TEST_SERVER + ":80"] bad_proxies = [_TEST_SERVER + ":80", metrics.PROXY_SETTING_HTTP]
self._metrics.AddResultsForHTTPFallback(tab, results, proxies, bad_proxies) self._metrics.AddResultsForHTTPFallback(tab, results, proxies, bad_proxies)
......
...@@ -20,6 +20,7 @@ CHROME_PROXY_VIA_HEADER_DEPRECATED = '1.1 Chrome Compression Proxy' ...@@ -20,6 +20,7 @@ CHROME_PROXY_VIA_HEADER_DEPRECATED = '1.1 Chrome Compression Proxy'
PROXY_SETTING_HTTPS = 'proxy.googlezip.net:443' PROXY_SETTING_HTTPS = 'proxy.googlezip.net:443'
PROXY_SETTING_HTTPS_WITH_SCHEME = 'https://' + PROXY_SETTING_HTTPS PROXY_SETTING_HTTPS_WITH_SCHEME = 'https://' + PROXY_SETTING_HTTPS
PROXY_DEV_SETTING_HTTPS_WITH_SCHEME = 'http://proxy-dev.googlezip.net:80'
PROXY_SETTING_HTTP = 'compress.googlezip.net:80' PROXY_SETTING_HTTP = 'compress.googlezip.net:80'
PROXY_SETTING_DIRECT = 'direct://' PROXY_SETTING_DIRECT = 'direct://'
...@@ -97,6 +98,7 @@ class ChromeProxyMetric(network_metrics.NetworkMetric): ...@@ -97,6 +98,7 @@ class ChromeProxyMetric(network_metrics.NetworkMetric):
self.compute_data_saving = True self.compute_data_saving = True
self.effective_proxies = { self.effective_proxies = {
"proxy": PROXY_SETTING_HTTPS_WITH_SCHEME, "proxy": PROXY_SETTING_HTTPS_WITH_SCHEME,
"proxy-dev": PROXY_DEV_SETTING_HTTPS_WITH_SCHEME,
"fallback": PROXY_SETTING_HTTP, "fallback": PROXY_SETTING_HTTP,
"direct": PROXY_SETTING_DIRECT, "direct": PROXY_SETTING_DIRECT,
} }
...@@ -140,7 +142,9 @@ class ChromeProxyMetric(network_metrics.NetworkMetric): ...@@ -140,7 +142,9 @@ class ChromeProxyMetric(network_metrics.NetworkMetric):
for resp in self.IterResponses(tab): for resp in self.IterResponses(tab):
if resp.IsValidByViaHeader(): if resp.IsValidByViaHeader():
via_count += 1 via_count += 1
elif tab and self.IsProxyBypassed(tab): else:
bypassed, _ = self.IsProxyBypassed(tab)
if tab and bypassed:
logging.warning('Proxy bypassed for %s', resp.response.url) logging.warning('Proxy bypassed for %s', resp.response.url)
bypass_count += 1 bypass_count += 1
else: else:
...@@ -155,15 +159,27 @@ class ChromeProxyMetric(network_metrics.NetworkMetric): ...@@ -155,15 +159,27 @@ class ChromeProxyMetric(network_metrics.NetworkMetric):
def IsProxyBypassed(self, tab): def IsProxyBypassed(self, tab):
""" Returns True if all configured proxies are bypassed.""" """ Returns True if all configured proxies are bypassed."""
if not tab:
return False, []
info = GetProxyInfoFromNetworkInternals(tab) info = GetProxyInfoFromNetworkInternals(tab)
if not info['enabled']: if not info['enabled']:
raise ChromeProxyMetricException, ( raise ChromeProxyMetricException, (
'Chrome proxy should be enabled. proxy info: %s' % info) 'Chrome proxy should be enabled. proxy info: %s' % info)
bad_proxies = [str(p['proxy']) for p in info['badProxies']].sort() bad_proxies = [str(p['proxy']) for p in info['badProxies']]
bad_proxies.sort()
proxies = [self.effective_proxies['proxy'], proxies = [self.effective_proxies['proxy'],
self.effective_proxies['fallback']].sort() self.effective_proxies['fallback']]
return bad_proxies == proxies proxies.sort()
proxies_dev = [self.effective_proxies['proxy-dev'],
self.effective_proxies['fallback']]
proxies_dev.sort()
if bad_proxies == proxies:
return True, proxies
elif bad_proxies == proxies_dev:
return True, proxies_dev
return False, []
@staticmethod @staticmethod
def VerifyBadProxies( def VerifyBadProxies(
...@@ -213,10 +229,8 @@ class ChromeProxyMetric(network_metrics.NetworkMetric): ...@@ -213,10 +229,8 @@ class ChromeProxyMetric(network_metrics.NetworkMetric):
if not info['enabled']: if not info['enabled']:
raise ChromeProxyMetricException, ( raise ChromeProxyMetricException, (
'Chrome proxy should be enabled. proxy info: %s' % info) 'Chrome proxy should be enabled. proxy info: %s' % info)
self.VerifyBadProxies( _, expected_bad_proxies = self.IsProxyBypassed(tab)
info['badProxies'], self.VerifyBadProxies(info['badProxies'], expected_bad_proxies)
[self.effective_proxies['proxy'],
self.effective_proxies['fallback']])
results.AddValue(scalar.ScalarValue( results.AddValue(scalar.ScalarValue(
results.current_page, 'bypass', 'count', bypass_count)) results.current_page, 'bypass', 'count', bypass_count))
......
...@@ -23,7 +23,6 @@ class BypassPageSet(page_set_module.PageSet): ...@@ -23,7 +23,6 @@ class BypassPageSet(page_set_module.PageSet):
urls_list = [ urls_list = [
'http://aws1.mdw.la/bypass/', 'http://aws1.mdw.la/bypass/',
'http://aws1.mdw.la/piatek/bypass-demo'
] ]
for url in urls_list: for url in urls_list:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment