12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # Copyright 2019 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.
- import re
- """Presubmit for build/util"""
- USE_PYTHON3 = True
- def _GetFilesToSkip(input_api):
- files_to_skip = []
- affected_files = input_api.change.AffectedFiles()
- version_script_change = next(
- (f for f in affected_files
- if re.search('\\/version\\.py$|\\/version_test\\.py$', f.LocalPath())),
- None)
- if version_script_change is None:
- files_to_skip.append('version_test\\.py$')
- android_chrome_version_script_change = next(
- (f for f in affected_files if re.search(
- '\\/android_chrome_version\\.py$|'
- '\\/android_chrome_version_test\\.py$', f.LocalPath())), None)
- if android_chrome_version_script_change is None:
- files_to_skip.append('android_chrome_version_test\\.py$')
- return files_to_skip
- def _GetPythonUnitTests(input_api, output_api):
- # No need to test if files are unchanged
- files_to_skip = _GetFilesToSkip(input_api)
- return input_api.canned_checks.GetUnitTestsRecursively(
- input_api,
- output_api,
- input_api.PresubmitLocalPath(),
- files_to_check=['.*_test\\.py$'],
- files_to_skip=files_to_skip,
- run_on_python2=False,
- run_on_python3=True,
- skip_shebang_check=True)
- def CommonChecks(input_api, output_api):
- """Presubmit checks run on both upload and commit.
- """
- checks = []
- checks.extend(_GetPythonUnitTests(input_api, output_api))
- return input_api.RunTests(checks, False)
- def CheckChangeOnUpload(input_api, output_api):
- """Presubmit checks on CL upload."""
- return CommonChecks(input_api, output_api)
- def CheckChangeOnCommit(input_api, output_api):
- """Presubmit checks on commit."""
- return CommonChecks(input_api, output_api)
|