Chromium Code Reviews| 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 | 5 |
| 6 """Top-level presubmit script for Skia. | 6 """Top-level presubmit script for Skia. |
| 7 | 7 |
| 8 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 8 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| 9 for more details about the presubmit API built into gcl. | 9 for more details about the presubmit API built into gcl. |
| 10 """ | 10 """ |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 176 | 176 |
| 177 recipes_py = os.path.join('infra', 'bots', 'recipes.py') | 177 recipes_py = os.path.join('infra', 'bots', 'recipes.py') |
| 178 cmd = ['python', recipes_py, 'simulation_test'] | 178 cmd = ['python', recipes_py, 'simulation_test'] |
| 179 try: | 179 try: |
| 180 subprocess.check_output(cmd) | 180 subprocess.check_output(cmd) |
| 181 except subprocess.CalledProcessError as e: | 181 except subprocess.CalledProcessError as e: |
| 182 results.append(output_api.PresubmitError( | 182 results.append(output_api.PresubmitError( |
| 183 '`%s` failed:\n%s' % (' '.join(cmd), e.output))) | 183 '`%s` failed:\n%s' % (' '.join(cmd), e.output))) |
| 184 return results | 184 return results |
| 185 | 185 |
| 186 | |
| 187 def _GenTasksTest(input_api, output_api): | |
| 188 """Run gen_tasks.go test.""" | |
| 189 results = [] | |
| 190 if not any(f.LocalPath().startswith('infra') | |
| 191 for f in input_api.AffectedFiles()): | |
| 192 return results | |
| 193 | |
| 194 gen_tasks = os.path.join('infra', 'bots', 'gen_tasks.go') | |
| 195 cmd = ['go', 'run', gen_tasks, '--test'] | |
| 196 try: | |
| 197 subprocess.check_output(cmd) | |
| 198 except subprocess.CalledProcessError as e: | |
| 199 results.append(output_api.PresubmitError( | |
| 200 '`%s` failed:\n%s' % (' '.join(cmd), e.output))) | |
| 201 return results | |
| 202 | |
| 203 | |
| 186 def _CheckGNFormatted(input_api, output_api): | 204 def _CheckGNFormatted(input_api, output_api): |
| 187 """Make sure any .gn files we're changing have been formatted.""" | 205 """Make sure any .gn files we're changing have been formatted.""" |
| 188 results = [] | 206 results = [] |
| 189 for f in input_api.AffectedFiles(): | 207 for f in input_api.AffectedFiles(): |
| 190 if not f.LocalPath().endswith('.gn'): | 208 if not f.LocalPath().endswith('.gn'): |
| 191 continue | 209 continue |
| 192 | 210 |
| 193 cmd = ['gn', 'format', '--dry-run', f.LocalPath()] | 211 cmd = ['gn', 'format', '--dry-run', f.LocalPath()] |
| 194 try: | 212 try: |
| 195 subprocess.check_output(cmd) | 213 subprocess.check_output(cmd) |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 227 | 245 |
| 228 def CheckChangeOnUpload(input_api, output_api): | 246 def CheckChangeOnUpload(input_api, output_api): |
| 229 """Presubmit checks for the change on upload. | 247 """Presubmit checks for the change on upload. |
| 230 | 248 |
| 231 The following are the presubmit checks: | 249 The following are the presubmit checks: |
| 232 * Check change has one and only one EOL. | 250 * Check change has one and only one EOL. |
| 233 """ | 251 """ |
| 234 results = [] | 252 results = [] |
| 235 results.extend(_CommonChecks(input_api, output_api)) | 253 results.extend(_CommonChecks(input_api, output_api)) |
| 236 # Run on upload, not commit, since the presubmit bot apparently doesn't have | 254 # Run on upload, not commit, since the presubmit bot apparently doesn't have |
| 237 # coverage installed. | 255 # coverage or Go installed. |
| 238 results.extend(_RecipeSimulationTest(input_api, output_api)) | 256 results.extend(_RecipeSimulationTest(input_api, output_api)) |
| 257 results.extend(_GenTasksTest(input_api, output_api)) | |
|
borenet
2016/10/04 18:59:47
This is really unfortunate. We need to be able to
dogben
2016/10/04 19:16:23
Is there a reason skia_presubmit-Trybot doesn't ru
borenet
2016/10/04 19:26:55
That bot was brought up by chrome-infra after they
borenet
2016/10/04 19:32:22
Filed https://bugs.chromium.org/p/skia/issues/deta
| |
| 258 | |
| 239 results.extend(_CheckGNFormatted(input_api, output_api)) | 259 results.extend(_CheckGNFormatted(input_api, output_api)) |
| 240 return results | 260 return results |
| 241 | 261 |
| 242 | 262 |
| 243 def _CheckTreeStatus(input_api, output_api, json_url): | 263 def _CheckTreeStatus(input_api, output_api, json_url): |
| 244 """Check whether to allow commit. | 264 """Check whether to allow commit. |
| 245 | 265 |
| 246 Args: | 266 Args: |
| 247 input_api: input related apis. | 267 input_api: input related apis. |
| 248 output_api: output related apis. | 268 output_api: output related apis. |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 604 state and an error if it is in 'Closed' state. | 624 state and an error if it is in 'Closed' state. |
| 605 """ | 625 """ |
| 606 results = [] | 626 results = [] |
| 607 results.extend(_CommonChecks(input_api, output_api)) | 627 results.extend(_CommonChecks(input_api, output_api)) |
| 608 results.extend( | 628 results.extend( |
| 609 _CheckTreeStatus(input_api, output_api, json_url=( | 629 _CheckTreeStatus(input_api, output_api, json_url=( |
| 610 SKIA_TREE_STATUS_URL + '/banner-status?format=json'))) | 630 SKIA_TREE_STATUS_URL + '/banner-status?format=json'))) |
| 611 results.extend(_CheckLGTMsForPublicAPI(input_api, output_api)) | 631 results.extend(_CheckLGTMsForPublicAPI(input_api, output_api)) |
| 612 results.extend(_CheckOwnerIsInAuthorsFile(input_api, output_api)) | 632 results.extend(_CheckOwnerIsInAuthorsFile(input_api, output_api)) |
| 613 return results | 633 return results |
| OLD | NEW |