| Index: chrome/test/functional/webpagereplay.py
|
| diff --git a/chrome/test/functional/webpagereplay.py b/chrome/test/functional/webpagereplay.py
|
| index c6d3350c7b3d828f935de6f9f0d4e9d91b45fbba..c86af50badb2b61b7520ce48cd09c8f0fd673ff5 100755
|
| --- a/chrome/test/functional/webpagereplay.py
|
| +++ b/chrome/test/functional/webpagereplay.py
|
| @@ -5,8 +5,7 @@
|
|
|
| """Start and stop Web Page Replay.
|
|
|
| -Of the public module names, the following ones are key:
|
| - CHROME_FLAGS: Chrome options to make it work with Web Page Replay.
|
| +Of the public module names, the following one is key:
|
| ReplayServer: a class to start/stop Web Page Replay.
|
| """
|
|
|
| @@ -19,16 +18,6 @@ import time
|
| import urllib
|
|
|
|
|
| -HTTP_PORT = 8080
|
| -HTTPS_PORT = 8413
|
| -REPLAY_HOST='127.0.0.1'
|
| -CHROME_FLAGS = [
|
| - '--host-resolver-rules=MAP * %s,EXCLUDE localhost' % REPLAY_HOST,
|
| - '--testing-fixed-http-port=%s' % HTTP_PORT,
|
| - '--testing-fixed-https-port=%s' % HTTPS_PORT,
|
| - '--ignore-certificate-errors',
|
| - ]
|
| -
|
| _CHROME_BASE_DIR = os.path.abspath(os.path.join(
|
| os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, os.pardir))
|
| REPLAY_DIR = os.path.join(
|
| @@ -37,6 +26,15 @@ LOG_PATH = os.path.join(
|
| _CHROME_BASE_DIR, 'src', 'webpagereplay_logs', 'logs.txt')
|
|
|
|
|
| +# Chrome options to make it work with Web Page Replay.
|
| +def GetChromeFlags(replay_host, http_port, https_port):
|
| + return [
|
| + '--host-resolver-rules=MAP * %s,EXCLUDE localhost' % replay_host,
|
| + '--testing-fixed-http-port=%s' % http_port,
|
| + '--testing-fixed-https-port=%s' % https_port,
|
| + '--ignore-certificate-errors',
|
| + ]
|
| +
|
| class ReplayError(Exception):
|
| """Catch-all exception for the module."""
|
| pass
|
| @@ -72,7 +70,8 @@ class ReplayServer(object):
|
| WPR_RECORD: if set, puts Web Page Replay in record mode instead of replay.
|
| WPR_REPLAY_DIR: path to alternate Web Page Replay source.
|
| """
|
| - def __init__(self, archive_path, replay_options=None, replay_dir=None,
|
| + def __init__(self, archive_path, replay_host, http_port, https_port,
|
| + replay_options=None, replay_dir=None,
|
| log_path=None):
|
| """Initialize ReplayServer.
|
|
|
| @@ -86,6 +85,9 @@ class ReplayServer(object):
|
| self.replay_options = list(replay_options or ())
|
| self.replay_dir = os.environ.get('WPR_REPLAY_DIR', replay_dir or REPLAY_DIR)
|
| self.log_path = log_path or LOG_PATH
|
| + self._http_port = http_port
|
| + self._https_port = https_port
|
| + self._replay_host = replay_host
|
|
|
| if 'WPR_RECORD' in os.environ and '--record' not in self.replay_options:
|
| self.replay_options.append('--record')
|
| @@ -106,8 +108,8 @@ class ReplayServer(object):
|
| def _AddDefaultReplayOptions(self):
|
| """Set WPR command-line options. Can be overridden if needed."""
|
| self.replay_options += [
|
| - '--port', str(HTTP_PORT),
|
| - '--ssl_port', str(HTTPS_PORT),
|
| + '--port', str(self._http_port),
|
| + '--ssl_port', str(self._https_port),
|
| '--use_closest_match',
|
| '--no-dns_forwarding',
|
| ]
|
| @@ -130,8 +132,8 @@ class ReplayServer(object):
|
| break
|
| try:
|
| up_url = '%s://localhost:%s/web-page-replay-generate-200'
|
| - http_up_url = up_url % ('http', HTTP_PORT)
|
| - https_up_url = up_url % ('https', HTTPS_PORT)
|
| + http_up_url = up_url % ('http', self._http_port)
|
| + https_up_url = up_url % ('https', self._https_port)
|
| if (200 == urllib.urlopen(http_up_url, None, {}).getcode() and
|
| 200 == urllib.urlopen(https_up_url, None, {}).getcode()):
|
| return True
|
|
|