| # Copyright 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. |
| import os |
| import sys |
| |
| PYLINT_BLACKLIST = [] |
| PYLINT_DISABLED_WARNINGS = ['R0923', 'R0201', 'E1101'] |
| |
| def _CommonChecks(input_api, output_api): |
| results = [] |
| |
| # TODO(nduca): This should call update_docs.IsUpdateDocsNeeded(). |
| # Disabled due to crbug.com/255326. |
| if False: |
| update_docs_path = os.path.join( |
| input_api.PresubmitLocalPath(), 'update_docs') |
| assert os.path.exists(update_docs_path) |
| results.append(output_api.PresubmitError( |
| 'Docs are stale. Please run:\n' + |
| '$ %s' % os.path.abspath(update_docs_path))) |
| |
| # Importing telemetry.web_components actually brings tvcm into the path. |
| import telemetry.web_components # pylint: disable=W0612 |
| from tvcm import presubmit_checker |
| checker = presubmit_checker.PresubmitChecker(input_api, output_api) |
| results += checker.RunChecks() |
| |
| results.extend(input_api.canned_checks.RunPylint( |
| input_api, output_api, |
| black_list=PYLINT_BLACKLIST, |
| disabled_warnings=PYLINT_DISABLED_WARNINGS)) |
| return results |
| |
| def GetPathsToPrepend(input_api): |
| return [input_api.PresubmitLocalPath()] |
| |
| def RunWithPrependedPath(prepended_path, fn, *args): |
| old_path = sys.path |
| |
| try: |
| sys.path = prepended_path + old_path |
| return fn(*args) |
| finally: |
| sys.path = old_path |
| |
| def CheckChangeOnUpload(input_api, output_api): |
| def go(): |
| results = [] |
| results.extend(_CommonChecks(input_api, output_api)) |
| return results |
| return RunWithPrependedPath(GetPathsToPrepend(input_api), go) |
| |
| def CheckChangeOnCommit(input_api, output_api): |
| def go(): |
| results = [] |
| results.extend(_CommonChecks(input_api, output_api)) |
| return results |
| return RunWithPrependedPath(GetPathsToPrepend(input_api), go) |