| # Copyright 2021 The ANGLE Project Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| """ |
| See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| for more details on the presubmit API built into depot_tools. |
| """ |
| |
| import os |
| |
| USE_PYTHON3 = True |
| |
| |
| def _CommonChecks(input_api, output_api): |
| d = os.path.dirname |
| angle_root = d(d(input_api.PresubmitLocalPath())) |
| gen_script = os.path.join(angle_root, 'testing', 'buildbot', 'generate_buildbot_json.py') |
| |
| # Validate the format of the mb_config.pyl file. |
| mb_path = os.path.join(angle_root, 'tools', 'mb', 'mb.py') |
| config_path = os.path.join(input_api.PresubmitLocalPath(), 'angle_mb_config.pyl') |
| |
| commands = [ |
| input_api.Command( |
| name='generate_buildbot_json', |
| cmd=[ |
| input_api.python3_executable, gen_script, '--check', '--verbose', |
| '--pyl-files-dir', |
| input_api.PresubmitLocalPath() |
| ], |
| kwargs={}, |
| message=output_api.PresubmitError), |
| input_api.Command( |
| name='mb_validate', |
| cmd=[ |
| input_api.python3_executable, |
| mb_path, |
| 'validate', |
| '-f', |
| config_path, |
| ], |
| kwargs={'cwd': input_api.PresubmitLocalPath()}, |
| message=output_api.PresubmitError), |
| ] |
| messages = [] |
| |
| messages.extend(input_api.RunTests(commands)) |
| return messages |
| |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| return _CommonChecks(input_api, output_api) |
| |
| |
| def CheckChangeOnCommit(input_api, output_api): |
| return _CommonChecks(input_api, output_api) |