| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Top-level presubmit script for testing. |
| |
| See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| for more details on the presubmit API built into depot_tools. |
| """ |
| |
| USE_PYTHON3 = True |
| |
| |
| def CommonChecks(input_api, output_api): |
| testing_env = dict(input_api.environ) |
| testing_env.update({ |
| 'PYTHONPATH': input_api.PresubmitLocalPath(), |
| 'PYTHONDONTWRITEBYTECODE': '1', |
| }) |
| |
| output = [] |
| output.extend(input_api.canned_checks.RunUnitTestsInDirectory( |
| input_api, |
| output_api, |
| '.', |
| [r'^.+_unittest\.py$'])) |
| output.extend(input_api.canned_checks.RunUnitTestsInDirectory( |
| input_api, |
| output_api, |
| input_api.os_path.join(input_api.PresubmitLocalPath(), |
| 'unexpected_passes_common'), |
| [r'^.+_unittest\.py$'], |
| env=testing_env, |
| run_on_python3=USE_PYTHON3, |
| skip_shebang_check=True)) |
| output.extend(input_api.canned_checks.RunPylint( |
| input_api, |
| output_api, |
| files_to_skip=[r'gmock.*', r'gtest.*', |
| r'buildbot.*', r'merge_scripts.*', r'trigger_scripts.*', |
| r'unexpected_passes_common.*', |
| r'clusterfuzz.*', |
| r'libfuzzer.*'])) |
| # Pylint2.7 is run on subdirs whose presubmit checks are migrated to Python3 |
| output.extend(input_api.canned_checks.RunPylint( |
| input_api, |
| output_api, |
| files_to_check=[r'buildbot.*\.py$', |
| r'merge_scripts.*\.py$', |
| r'trigger_scripts.*\.py$', |
| r'unexpected_passes_common.*\.py$', |
| r'clusterfuzz.*\.py$', |
| r'libfuzzer.*\.py$'], |
| version='2.7')) |
| |
| return output |
| |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| return CommonChecks(input_api, output_api) |
| |
| |
| def CheckChangeOnCommit(input_api, output_api): |
| return CommonChecks(input_api, output_api) |