15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)"""Top-level presubmit script for deep_memory_profiler. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)details on the presubmit API built into gcl. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)""" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def CommonChecks(input_api, output_api): 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) import sys 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) def join(*args): 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return input_api.os_path.join(input_api.PresubmitLocalPath(), *args) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) output = [] 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sys_path_backup = sys.path 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) try: 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sys.path = [ 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) join('..', 'find_runtime_symbols'), 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ] + sys.path 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) output.extend(input_api.canned_checks.RunPylint(input_api, output_api)) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) finally: 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) sys.path = sys_path_backup 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) output.extend( 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) input_api.canned_checks.RunUnitTestsInDirectory( 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) input_api, output_api, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) input_api.os_path.join(input_api.PresubmitLocalPath(), 'tests'), 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) whitelist=[r'.+_test\.py$'])) 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) if input_api.is_committing: 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) output.extend(input_api.canned_checks.PanProjectChecks(input_api, 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) output_api, 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) owners_check=False)) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return output 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def CheckChangeOnUpload(input_api, output_api): 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return CommonChecks(input_api, output_api) 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def CheckChangeOnCommit(input_api, output_api): 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return CommonChecks(input_api, output_api) 46