OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 import logging | 5 import logging |
6 import os | 6 import os |
7 import sys | 7 import sys |
8 import tempfile | 8 import tempfile |
9 import time | 9 import time |
10 | 10 |
11 from telemetry import all_page_actions # pylint: disable=W0611 | 11 from telemetry.core import browser_finder |
12 from telemetry import browser_finder | 12 from telemetry.core import browser_options |
13 from telemetry import browser_options | 13 from telemetry.core import wpr_modes |
14 from telemetry import discover | 14 from telemetry.page import all_page_actions # pylint: disable=W0611 |
15 from telemetry import multi_page_benchmark | 15 from telemetry.page import multi_page_benchmark |
16 from telemetry import page_runner | 16 from telemetry.page import page_runner |
17 from telemetry import page_set | 17 from telemetry.page import page_set |
18 from telemetry import page_test | 18 from telemetry.page import page_test |
19 from telemetry import wpr_modes | 19 from telemetry.test import discover |
20 | 20 |
21 class RecordPage(page_test.PageTest): | 21 class RecordPage(page_test.PageTest): |
22 def __init__(self, benchmarks): | 22 def __init__(self, benchmarks): |
23 # This class overwrites PageTest.Run, so that the test method name is not | 23 # This class overwrites PageTest.Run, so that the test method name is not |
24 # really used (except for throwing an exception if it doesn't exist). | 24 # really used (except for throwing an exception if it doesn't exist). |
25 super(RecordPage, self).__init__('Run') | 25 super(RecordPage, self).__init__('Run') |
26 self._action_names = set( | 26 self._action_names = set( |
27 [benchmark().action_name_to_run | 27 [benchmark().action_name_to_run |
28 for benchmark in benchmarks.values() | 28 for benchmark in benchmarks.values() |
29 if benchmark().action_name_to_run]) | 29 if benchmark().action_name_to_run]) |
(...skipping 25 matching lines...) Expand all Loading... |
55 for action_name in self._action_names: | 55 for action_name in self._action_names: |
56 if not hasattr(page, action_name): | 56 if not hasattr(page, action_name): |
57 continue | 57 continue |
58 action_data = getattr(page, action_name) | 58 action_data = getattr(page, action_name) |
59 actions.append(all_page_actions.FindClassWithName( | 59 actions.append(all_page_actions.FindClassWithName( |
60 action_data['action'])(action_data)) | 60 action_data['action'])(action_data)) |
61 return actions | 61 return actions |
62 | 62 |
63 | 63 |
64 def Main(benchmark_dir): | 64 def Main(benchmark_dir): |
65 benchmarks = discover.Discover(benchmark_dir, '', | 65 benchmarks = discover.Discover(benchmark_dir, |
| 66 os.path.join(benchmark_dir, '..'), |
| 67 '', |
66 multi_page_benchmark.MultiPageBenchmark) | 68 multi_page_benchmark.MultiPageBenchmark) |
67 options = browser_options.BrowserOptions() | 69 options = browser_options.BrowserOptions() |
68 parser = options.CreateParser('%prog <page_set>') | 70 parser = options.CreateParser('%prog <page_set>') |
69 page_runner.PageRunner.AddCommandLineOptions(parser) | 71 page_runner.PageRunner.AddCommandLineOptions(parser) |
70 | 72 |
71 recorder = RecordPage(benchmarks) | 73 recorder = RecordPage(benchmarks) |
72 recorder.AddCommandLineOptions(parser) | 74 recorder.AddCommandLineOptions(parser) |
73 | 75 |
74 _, args = parser.parse_args() | 76 _, args = parser.parse_args() |
75 | 77 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 [skipped['page'].url for skipped in results.skipped_pages])) | 110 [skipped['page'].url for skipped in results.skipped_pages])) |
109 | 111 |
110 if results.page_successes: | 112 if results.page_successes: |
111 # Update the metadata for the pages which were recorded. | 113 # Update the metadata for the pages which were recorded. |
112 ps.wpr_archive_info.AddRecordedPages( | 114 ps.wpr_archive_info.AddRecordedPages( |
113 [page['page'] for page in results.page_successes]) | 115 [page['page'] for page in results.page_successes]) |
114 else: | 116 else: |
115 os.remove(temp_target_wpr_file_path) | 117 os.remove(temp_target_wpr_file_path) |
116 | 118 |
117 return min(255, len(results.page_failures)) | 119 return min(255, len(results.page_failures)) |
OLD | NEW |