OLD | NEW |
---|---|
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """Fetches a copy of the latest state of a W3C test repository and commits. | 5 """Fetches a copy of the latest state of a W3C test repository and commits. |
6 | 6 |
7 If this script is given the argument --auto-update, it will also attempt to | 7 If this script is given the argument --auto-update, it will also attempt to |
8 upload a CL, triggery try jobs, and make any changes that are required for | 8 upload a CL, triggery try jobs, and make any changes that are required for |
9 new failing tests before committing. | 9 new failing tests before committing. |
10 """ | 10 """ |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
45 | 45 |
46 if not self.checkout_is_okay(): | 46 if not self.checkout_is_okay(): |
47 return 1 | 47 return 1 |
48 | 48 |
49 self.print_('## Noting the current Chromium commit.') | 49 self.print_('## Noting the current Chromium commit.') |
50 _, show_ref_output = self.run(['git', 'show-ref', 'HEAD']) | 50 _, show_ref_output = self.run(['git', 'show-ref', 'HEAD']) |
51 chromium_commitish = show_ref_output.split()[0] | 51 chromium_commitish = show_ref_output.split()[0] |
52 | 52 |
53 if self.target == 'wpt': | 53 if self.target == 'wpt': |
54 import_commitish = self.update(WPT_DEST_NAME, WPT_REPO_URL) | 54 import_commitish = self.update(WPT_DEST_NAME, WPT_REPO_URL) |
55 | 55 self._copy_resources_to_wpt() |
56 for resource in ['testharnessreport.js', 'WebIDLParser.js']: | |
57 source = self.path_from_webkit_base('LayoutTests', 'resources', resource) | |
58 destination = self.path_from_webkit_base('LayoutTests', 'importe d', WPT_DEST_NAME, 'resources', resource) | |
59 self.copyfile(source, destination) | |
60 self.run(['git', 'add', destination]) | |
61 | |
62 for resource in ['vendor-prefix.js']: | |
63 source = self.path_from_webkit_base('LayoutTests', 'resources', resource) | |
64 destination = self.path_from_webkit_base('LayoutTests', 'importe d', WPT_DEST_NAME, 'common', resource) | |
65 self.copyfile(source, destination) | |
66 self.run(['git', 'add', destination]) | |
67 | |
68 elif self.target == 'css': | 56 elif self.target == 'css': |
69 import_commitish = self.update(CSS_DEST_NAME, WPT_REPO_URL) | 57 import_commitish = self.update(CSS_DEST_NAME, WPT_REPO_URL) |
70 else: | 58 else: |
71 raise AssertionError("Unsupported target %s" % self.target) | 59 raise AssertionError("Unsupported target %s" % self.target) |
72 | 60 |
73 has_changes = self.commit_changes_if_needed(chromium_commitish, import_c ommitish) | 61 has_changes = self.commit_changes_if_needed(chromium_commitish, import_c ommitish) |
74 if self.auto_update and has_changes: | 62 if self.auto_update and has_changes: |
75 try_bots = self.host.builders.all_try_builder_names() | 63 try_bots = self.host.builders.all_try_builder_names() |
76 data_file_path = self.finder.path_from_webkit_base('Tools', 'Scripts ', 'webkitpy', 'w3c', 'directory_owners.json') | 64 data_file_path = self.finder.path_from_webkit_base('Tools', 'Scripts ', 'webkitpy', 'w3c', 'directory_owners.json') |
77 with open(data_file_path) as data_file: | 65 with open(data_file_path) as data_file: |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
130 if self.fs.exists(self.path_from_webkit_base(WPT_DEST_NAME)): | 118 if self.fs.exists(self.path_from_webkit_base(WPT_DEST_NAME)): |
131 self.print_('## WebKit/%s exists; aborting.' % WPT_DEST_NAME) | 119 self.print_('## WebKit/%s exists; aborting.' % WPT_DEST_NAME) |
132 return False | 120 return False |
133 | 121 |
134 if self.fs.exists(self.path_from_webkit_base(CSS_DEST_NAME)): | 122 if self.fs.exists(self.path_from_webkit_base(CSS_DEST_NAME)): |
135 self.print_('## WebKit/%s repo exists; aborting.' % CSS_DEST_NAME) | 123 self.print_('## WebKit/%s repo exists; aborting.' % CSS_DEST_NAME) |
136 return False | 124 return False |
137 | 125 |
138 return True | 126 return True |
139 | 127 |
128 def _copy_resources_to_wpt(self): | |
129 """Copies some files over to a newly-updated wpt directory. | |
130 | |
131 There are some resource files in our repository that we want to use | |
Dirk Pranke
2016/08/17 00:02:43
One last nit: s/There are some resource/These are/
| |
132 instead of the upstream versions. | |
133 """ | |
134 resources_to_copy = [ | |
135 ('testharnessreport.js', 'resources'), | |
136 ('WebIDLParser.js', 'resources'), | |
137 ('vendor-prefix.js', 'common'), | |
138 ] | |
139 for filename, wpt_subdir in resources_to_copy: | |
140 source = self.path_from_webkit_base('LayoutTests', 'resources', file name) | |
141 destination = self.path_from_webkit_base('LayoutTests', 'imported', WPT_DEST_NAME, wpt_subdir, filename) | |
142 self.copyfile(source, destination) | |
143 self.run(['git', 'add', destination]) | |
144 | |
140 def update(self, dest_dir_name, url): | 145 def update(self, dest_dir_name, url): |
141 """Updates an imported repository. | 146 """Updates an imported repository. |
142 | 147 |
143 Args: | 148 Args: |
144 dest_dir_name: The destination directory name. | 149 dest_dir_name: The destination directory name. |
145 url: URL of the git repository. | 150 url: URL of the git repository. |
146 | 151 |
147 Returns: | 152 Returns: |
148 A string for the commit description "<destination>@<commitish>". | 153 A string for the commit description "<destination>@<commitish>". |
149 """ | 154 """ |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
365 def generate_upload_command(self, email_list): | 370 def generate_upload_command(self, email_list): |
366 message = """W3C auto test importer | 371 message = """W3C auto test importer |
367 | 372 |
368 TBR=qyearsley@chromium.org""" | 373 TBR=qyearsley@chromium.org""" |
369 | 374 |
370 command = ['git', 'cl', 'upload', '-f', '-m', message] | 375 command = ['git', 'cl', 'upload', '-f', '-m', message] |
371 command += ['--cc=' + email for email in email_list] | 376 command += ['--cc=' + email for email in email_list] |
372 if self.auth_refresh_token_json: | 377 if self.auth_refresh_token_json: |
373 command += ['--auth-refresh-token-json', self.auth_refresh_token_jso n] | 378 command += ['--auth-refresh-token-json', self.auth_refresh_token_jso n] |
374 return command | 379 return command |
OLD | NEW |