OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import os | 5 import os |
6 | 6 |
7 from telemetry import test | 7 from telemetry import test |
8 from telemetry.core import util | 8 from telemetry.core import util |
9 from telemetry.page import page_measurement | 9 from telemetry.page import page_measurement |
10 from telemetry.page import page as page_module | |
11 from telemetry.page import page_set | 10 from telemetry.page import page_set |
12 | 11 |
13 | 12 |
14 class BlinkPerfPageSet(page_set.PageSet): | |
15 def __init__(self, file_path, page_urls, serving_dirs): | |
16 super(BlinkPerfPageSet, self).__init__(file_path=file_path, | |
17 serving_dirs=serving_dirs) | |
18 | |
19 for url in page_urls: | |
20 self.AddPage(page_module.PageWithDefaultRunNavigate( | |
21 url, page_set=self, base_dir=self._base_dir)) | |
22 self._InitializeArchive() | |
23 | |
24 | |
25 def _CreatePageSetFromPath(path): | 13 def _CreatePageSetFromPath(path): |
26 assert os.path.exists(path) | 14 assert os.path.exists(path) |
27 | 15 |
28 page_urls = [] | 16 page_urls = [] |
29 serving_dirs = set() | 17 serving_dirs = set() |
30 | 18 |
31 def _AddPage(path): | 19 def _AddPage(path): |
32 if not path.endswith('.html'): | 20 if not path.endswith('.html'): |
33 return | 21 return |
34 if '../' in open(path, 'r').read(): | 22 if '../' in open(path, 'r').read(): |
(...skipping 18 matching lines...) Expand all Loading... |
53 skipped = [] | 41 skipped = [] |
54 skipped_file = os.path.join(path, 'Skipped') | 42 skipped_file = os.path.join(path, 'Skipped') |
55 if os.path.exists(skipped_file): | 43 if os.path.exists(skipped_file): |
56 for line in open(skipped_file, 'r').readlines(): | 44 for line in open(skipped_file, 'r').readlines(): |
57 line = line.strip() | 45 line = line.strip() |
58 if line and not line.startswith('#'): | 46 if line and not line.startswith('#'): |
59 skipped.append(line.replace('/', os.sep)) | 47 skipped.append(line.replace('/', os.sep)) |
60 _AddDir(path, skipped) | 48 _AddDir(path, skipped) |
61 else: | 49 else: |
62 _AddPage(path) | 50 _AddPage(path) |
63 return BlinkPerfPageSet(os.getcwd() + os.sep, page_urls, serving_dirs) | 51 ps = page_set.PageSet(file_path=os.getcwd()+os.sep, serving_dirs=serving_dirs) |
| 52 for url in page_urls: |
| 53 ps.AddPageWithDefaultRunNavigate(url) |
| 54 return ps |
64 | 55 |
65 | 56 |
66 class _BlinkPerfMeasurement(page_measurement.PageMeasurement): | 57 class _BlinkPerfMeasurement(page_measurement.PageMeasurement): |
67 """Tuns a blink performance test and reports the results.""" | 58 """Tuns a blink performance test and reports the results.""" |
68 def __init__(self): | 59 def __init__(self): |
69 super(_BlinkPerfMeasurement, self).__init__('') | 60 super(_BlinkPerfMeasurement, self).__init__('') |
70 with open(os.path.join(os.path.dirname(__file__), | 61 with open(os.path.join(os.path.dirname(__file__), |
71 'blink_perf.js'), 'r') as f: | 62 'blink_perf.js'), 'r') as f: |
72 self._blink_perf_js = f.read() | 63 self._blink_perf_js = f.read() |
73 | 64 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 tag = 'web_animations' | 115 tag = 'web_animations' |
125 test = _BlinkPerfMeasurement | 116 test = _BlinkPerfMeasurement |
126 | 117 |
127 def CreatePageSet(self, options): | 118 def CreatePageSet(self, options): |
128 path = os.path.join(util.GetChromiumSrcDir(), | 119 path = os.path.join(util.GetChromiumSrcDir(), |
129 'third_party', 'WebKit', 'PerformanceTests', 'Animation') | 120 'third_party', 'WebKit', 'PerformanceTests', 'Animation') |
130 return _CreatePageSetFromPath(path) | 121 return _CreatePageSetFromPath(path) |
131 | 122 |
132 def CustomizeBrowserOptions(self, options): | 123 def CustomizeBrowserOptions(self, options): |
133 options.AppendExtraBrowserArgs('--enable-web-animations-css') | 124 options.AppendExtraBrowserArgs('--enable-web-animations-css') |
OLD | NEW |