1 # Copyright 2012 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 import os 5 import sys 6 7 PYLINT_BLACKLIST = [] 8 PYLINT_DISABLED_WARNINGS = ['R0923', 'R0201', 'E1101'] 9 10 def _CommonChecks(input_api, output_api): 11 results = [] 12 13 # TODO(nduca): This should call update_docs.IsUpdateDocsNeeded(). 14 # Disabled due to crbug.com/255326. 15 if False: 16 update_docs_path = os.path.join( 17 input_api.PresubmitLocalPath(), 'update_docs') 18 assert os.path.exists(update_docs_path) 19 results.append(output_api.PresubmitError( 20 'Docs are stale. Please run:\n' + 21 '$ %s' % os.path.abspath(update_docs_path))) 22 23 # Importing telemetry.web_components actually brings tvcm into the path. 24 import telemetry.web_components # pylint: disable=W0612 25 from tvcm import presubmit_checker 26 checker = presubmit_checker.PresubmitChecker(input_api, output_api) 27 results += checker.RunChecks() 28 29 results.extend(input_api.canned_checks.RunPylint( 30 input_api, output_api, 31 black_list=PYLINT_BLACKLIST, 32 disabled_warnings=PYLINT_DISABLED_WARNINGS)) 33 return results 34 35 def GetPathsToPrepend(input_api): 36 return [input_api.PresubmitLocalPath()] 37 38 def RunWithPrependedPath(prepended_path, fn, *args): 39 old_path = sys.path 40 41 try: 42 sys.path = prepended_path + old_path 43 return fn(*args) 44 finally: 45 sys.path = old_path 46 47 def CheckChangeOnUpload(input_api, output_api): 48 def go(): 49 results = [] 50 results.extend(_CommonChecks(input_api, output_api)) 51 return results 52 return RunWithPrependedPath(GetPathsToPrepend(input_api), go) 53 54 def CheckChangeOnCommit(input_api, output_api): 55 def go(): 56 results = [] 57 results.extend(_CommonChecks(input_api, output_api)) 58 return results 59 return RunWithPrependedPath(GetPathsToPrepend(input_api), go) 60