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
5"""Top-level presubmit script for find_runtime_symbols.
6
7See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for
8details on the presubmit API built into gcl.
9"""
10
11
12def 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('..', 'find_runtime_symbols'),
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'.+_test\.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
40def CheckChangeOnUpload(input_api, output_api):
41  return CommonChecks(input_api, output_api)
42
43
44def CheckChangeOnCommit(input_api, output_api):
45  return CommonChecks(input_api, output_api)
46