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

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

Issue 792303006: Remove the net-internals dependency from chrome proxy telemetry tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 5 years, 11 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 555035686b43863eba882f994f8c8b522b65a8d9..eadc0104ee2a554358a1f35a890b04116749c0d2 100644
--- a/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
+++ b/tools/chrome_proxy/integration_tests/chrome_proxy_measurements.py
@@ -229,16 +229,9 @@ class ChromeProxyHTTPFallbackViaHeader(ChromeProxyValidation):
options.AppendExtraBrowserArgs('--ignore-certificate-errors')
options.AppendExtraBrowserArgs(
'--spdy-proxy-auth-origin=http://%s' % _TEST_SERVER)
- options.AppendExtraBrowserArgs(
- '--spdy-proxy-auth-value=%s' % _FAKE_PROXY_AUTH_VALUE)
def AddResults(self, tab, results):
- proxies = [
- _TEST_SERVER + ":80",
- self._metrics.effective_proxies['fallback'],
- self._metrics.effective_proxies['direct']]
- bad_proxies = [_TEST_SERVER + ":80", metrics.PROXY_SETTING_HTTP]
- self._metrics.AddResultsForHTTPFallback(tab, results, proxies, bad_proxies)
+ self._metrics.AddResultsForHTTPFallback(tab, results)
class ChromeProxyClientVersion(ChromeProxyValidation):
@@ -299,66 +292,33 @@ class ChromeProxyHTTPToDirectFallback(ChromeProxyValidation):
'--spdy-proxy-auth-origin=http://nonexistent.googlezip.net')
def WillNavigateToPage(self, page, tab):
+ super(ChromeProxyHTTPToDirectFallback, self).WillNavigateToPage(page, tab)
# Attempt to load a page through the nonexistent primary proxy in order to
# cause a proxy fallback, and have this test run starting from the HTTP
# fallback proxy.
tab.Navigate(_TEST_SERVER_DEFAULT_URL)
tab.WaitForJavaScriptExpression('performance.timing.loadEventStart', 300)
- proxies = [
- 'nonexistent.googlezip.net:80',
- self._metrics.effective_proxies['fallback'],
- self._metrics.effective_proxies['direct']]
- # TODO(sclittle): Remove this dependency on net-internals#proxy once an
- # alternative method of verifying that Chrome is on the fallback proxy
- # exists.
- self._metrics.VerifyProxyInfo(tab, proxies, proxies[:1])
- super(ChromeProxyHTTPToDirectFallback, self).WillNavigateToPage(page, tab)
def AddResults(self, tab, results):
self._metrics.AddResultsForHTTPToDirectFallback(tab, results)
-class ChromeProxyExplicitBypass(ChromeProxyValidation):
- """Correctness measurement for explicit proxy bypasses.
+class ChromeProxyReenableAfterBypass(ChromeProxyValidation):
+ """Correctness measurement for re-enabling proxies after bypasses.
- In this test, the configured proxy is the chromeproxy-test server which
- will send back a response without the expected Via header. Chrome is
- expected to use the fallback proxy and add the configured proxy to the
- bad proxy list.
+ This test loads a page that causes all data reduction proxies to be bypassed
+ for 1 to 5 minutes, then waits 5 minutes and verifies that the proxy is no
+ longer bypassed.
"""
def __init__(self):
- super(ChromeProxyExplicitBypass, self).__init__(
+ super(ChromeProxyReenableAfterBypass, self).__init__(
restart_after_each_page=True)
- def CustomizeBrowserOptions(self, options):
- super(ChromeProxyExplicitBypass,
- self).CustomizeBrowserOptions(options)
- options.AppendExtraBrowserArgs('--ignore-certificate-errors')
- options.AppendExtraBrowserArgs(
- '--spdy-proxy-auth-origin=http://%s' % _TEST_SERVER)
- options.AppendExtraBrowserArgs(
- '--spdy-proxy-auth-value=%s' % _FAKE_PROXY_AUTH_VALUE)
-
def AddResults(self, tab, results):
- bad_proxies = [{
- 'proxy': _TEST_SERVER + ':80',
- 'retry_seconds_low': self._page.bypass_seconds_low,
- 'retry_seconds_high': self._page.bypass_seconds_high
- }]
- if self._page.num_bypassed_proxies == 2:
- bad_proxies.append({
- 'proxy': self._metrics.effective_proxies['fallback'],
- 'retry_seconds_low': self._page.bypass_seconds_low,
- 'retry_seconds_high': self._page.bypass_seconds_high
- })
- else:
- # Even if the test page only causes the primary proxy to be bypassed,
- # Chrome will attempt to fetch the favicon for the test server through
- # the data reduction proxy, which will cause a "block=0" bypass.
- bad_proxies.append({'proxy': self._metrics.effective_proxies['fallback']})
-
- self._metrics.AddResultsForExplicitBypass(tab, results, bad_proxies)
+ self._metrics.AddResultsForReenableAfterBypass(
+ tab, results, self._page.bypass_seconds_min,
+ self._page.bypass_seconds_max)
class ChromeProxySmoke(ChromeProxyValidation):

Powered by Google App Engine
This is Rietveld 408576698