Home | History | Annotate | Download | only in telemetry
      1 # Copyright (c) 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   results.extend(input_api.canned_checks.RunPylint(
     24         input_api, output_api,
     25         black_list=PYLINT_BLACKLIST,
     26         disabled_warnings=PYLINT_DISABLED_WARNINGS))
     27   return results
     28 
     29 def GetPathsToPrepend(input_api):
     30   return [input_api.PresubmitLocalPath()]
     31 
     32 def RunWithPrependedPath(prepended_path, fn, *args):
     33   old_path = sys.path
     34 
     35   try:
     36     sys.path = prepended_path + old_path
     37     return fn(*args)
     38   finally:
     39     sys.path = old_path
     40 
     41 def CheckChangeOnUpload(input_api, output_api):
     42   def go():
     43     results = []
     44     results.extend(_CommonChecks(input_api, output_api))
     45     return results
     46   return RunWithPrependedPath(GetPathsToPrepend(input_api), go)
     47 
     48 def CheckChangeOnCommit(input_api, output_api):
     49   def go():
     50     results = []
     51     results.extend(_CommonChecks(input_api, output_api))
     52     return results
     53   return RunWithPrependedPath(GetPathsToPrepend(input_api), go)
     54