| Index: scripts/slave/runtest.py
|
| ===================================================================
|
| --- scripts/slave/runtest.py (revision 132640)
|
| +++ scripts/slave/runtest.py (working copy)
|
| @@ -171,6 +171,22 @@
|
| (e, output_dir))
|
| return http_server
|
|
|
| +def start_wpr_server(test_exe_path):
|
| + """Start Web Page Replay server.
|
| +
|
| + WPR makes it easy to record all the resources for a web page and serve
|
| + that page with a simulated network.
|
| + """
|
| + # pylint: disable=F0401
|
| + import google.webpagereplay_utils
|
| + test_exe_name = os.path.splitext(os.path.basename(test_exe_path))[0]
|
| + paths = google.webpagereplay_utils.ChromiumPaths(
|
| + TEST_EXE_NAME=test_exe_name, TEST_NAME='2012Q2')
|
| + wpr_server = google.webpagereplay_utils.ReplayLauncher(
|
| + paths['replay'], paths['.wpr'], paths['logs'], ['--no-dns_forwarding'])
|
| + wpr_server.StartServer()
|
| + return wpr_server
|
| +
|
| def main_mac(options, args):
|
| if len(args) < 1:
|
| raise chromium_utils.MissingArgument('Usage: %s' % USAGE)
|
| @@ -233,10 +249,13 @@
|
|
|
| try:
|
| http_server = None
|
| + webpagereplay_server = None
|
| if options.document_root:
|
| http_server = start_http_server('mac', build_dir=build_dir,
|
| test_exe_path=test_exe_path,
|
| document_root=options.document_root)
|
| + if options.enable_wpr:
|
| + webpagereplay_server = start_wpr_server(test_exe_path)
|
| if options.factory_properties.get('asan', False):
|
| symbolize = os.path.abspath(os.path.join('src', 'third_party', 'asan',
|
| 'scripts', 'asan_symbolize.py'))
|
| @@ -247,6 +266,8 @@
|
| finally:
|
| if http_server:
|
| http_server.StopServer()
|
| + if webpagereplay_server:
|
| + webpagereplay_server.StopServer()
|
|
|
| if options.generate_json_file:
|
| _GenerateJSONForTestResults(options, results_tracker)
|
| @@ -353,10 +374,13 @@
|
|
|
| try:
|
| http_server = None
|
| + webpagereplay_server = None
|
| if options.document_root:
|
| http_server = start_http_server('linux', build_dir=build_dir,
|
| test_exe_path=test_exe_path,
|
| document_root=options.document_root)
|
| + if options.enable_wpr:
|
| + webpagereplay_server = start_wpr_server(test_exe_path)
|
| if options.xvfb:
|
| xvfb.StartVirtualX(
|
| slave_name, bin_dir,
|
| @@ -372,6 +396,8 @@
|
| finally:
|
| if http_server:
|
| http_server.StopServer()
|
| + if webpagereplay_server:
|
| + webpagereplay_server.StopServer()
|
| if options.xvfb:
|
| xvfb.StopVirtualX(slave_name)
|
|
|
| @@ -484,6 +510,10 @@
|
| default=None, metavar='DOC_ROOT',
|
| help='Start a local httpd server using the given '
|
| 'document root, relative to the current dir')
|
| + option_parser.add_option('', '--enable-wpr', action='store_true',
|
| + default=False,
|
| + help='Start the given Web Page Replay server using '
|
| + 'the httpd document root as the archive root.')
|
| option_parser.add_option('', '--total-shards', dest='total_shards',
|
| default=None, type="int",
|
| help='Number of shards to split this test into.')
|
|
|