1 # Copyright 2013 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 5 """Top-level presubmit script for linux. 6 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for 8 details on the presubmit API built into gcl. 9 """ 10 11 12 def CommonChecks(input_api, output_api): 13 import sys 14 def join(*args): 15 return input_api.os_path.join(input_api.PresubmitLocalPath(), *args) 16 17 output = [] 18 sys_path_backup = sys.path 19 try: 20 sys.path = [ 21 join('..', 'linux'), 22 ] + sys.path 23 output.extend(input_api.canned_checks.RunPylint(input_api, output_api)) 24 finally: 25 sys.path = sys_path_backup 26 27 output.extend( 28 input_api.canned_checks.RunUnitTestsInDirectory( 29 input_api, output_api, 30 input_api.os_path.join(input_api.PresubmitLocalPath(), 'tests'), 31 whitelist=[r'.+_tests\.py$'])) 32 33 if input_api.is_committing: 34 output.extend(input_api.canned_checks.PanProjectChecks(input_api, 35 output_api, 36 owners_check=False)) 37 return output 38 39 40 def CheckChangeOnUpload(input_api, output_api): 41 return CommonChecks(input_api, output_api) 42 43 44 def CheckChangeOnCommit(input_api, output_api): 45 return CommonChecks(input_api, output_api) 46