| # Copyright 2012 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Presubmit script for changes affecting tools/json_schema_compiler/ |
| |
| See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| for more details about the presubmit API built into depot_tools. |
| """ |
| |
| import sys |
| |
| FILE_PATTERN = [ r'.+_test.py$' ] |
| |
| |
| def _CheckExterns(input_api, output_api): |
| """Make sure tool changes update the generated externs.""" |
| original_sys_path = sys.path |
| try: |
| sys.path.insert(0, input_api.PresubmitLocalPath()) |
| from generate_all_externs import Generate |
| finally: |
| sys.path = original_sys_path |
| |
| return Generate(input_api, output_api, dryrun=True) |
| |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| ret = input_api.canned_checks.RunUnitTestsInDirectory( |
| input_api, output_api, '.', files_to_check=FILE_PATTERN) |
| ret += _CheckExterns(input_api, output_api) |
| return ret |
| |
| |
| def CheckChangeOnCommit(input_api, output_api): |
| ret = input_api.canned_checks.RunUnitTestsInDirectory( |
| input_api, output_api, '.', files_to_check=FILE_PATTERN) |
| ret += _CheckExterns(input_api, output_api) |
| return ret |