blob: 61b4fc1888d40b934d2a472b36d58d06f93a971b [file] [log] [blame]
[email protected]e615e9c2012-03-07 21:39:001# 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 testing.
6
tfarina78bb92f42015-01-31 00:20:487See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8for more details on the presubmit API built into depot_tools.
[email protected]e615e9c2012-03-07 21:39:009"""
10
Josip Sokcevic3d5cd732021-06-14 17:59:5711USE_PYTHON3 = True
12
[email protected]e615e9c2012-03-07 21:39:0013
14def CommonChecks(input_api, output_api):
Brian Sheedy75fc5152021-06-28 20:07:1315 testing_env = dict(input_api.environ)
Brian Sheedy75fc5152021-06-28 20:07:1316 testing_env.update({
Brian Sheedy20b6368e2021-07-15 00:17:1017 'PYTHONPATH': input_api.PresubmitLocalPath(),
Brian Sheedy75fc5152021-06-28 20:07:1318 'PYTHONDONTWRITEBYTECODE': '1',
19 })
20
[email protected]e615e9c2012-03-07 21:39:0021 output = []
Ilia Samsonova00835302019-04-19 17:37:5922 output.extend(input_api.canned_checks.RunUnitTestsInDirectory(
Joshua Hood7827f5f02022-03-01 16:31:0023 input_api,
24 output_api,
25 '.',
Sebastien Lalancette53ef7d32022-04-26 20:53:4526 [r'^.+_unittest\.py$']))
Brian Sheedy75fc5152021-06-28 20:07:1327 output.extend(input_api.canned_checks.RunUnitTestsInDirectory(
28 input_api,
29 output_api,
30 input_api.os_path.join(input_api.PresubmitLocalPath(),
31 'unexpected_passes_common'),
32 [r'^.+_unittest\.py$'],
Joshua Hood330454c72022-03-09 17:59:0333 env=testing_env,
34 run_on_python3=USE_PYTHON3,
35 skip_shebang_check=True))
[email protected]e615e9c2012-03-07 21:39:0036 output.extend(input_api.canned_checks.RunPylint(
Joshua Hood7827f5f02022-03-01 16:31:0037 input_api,
38 output_api,
Sebastien Lalancette53ef7d32022-04-26 20:53:4539 files_to_skip=[r'gmock.*', r'gtest.*',
40 r'buildbot.*', r'merge_scripts.*', r'trigger_scripts.*',
41 r'unexpected_passes_common.*',
42 r'clusterfuzz.*',
43 r'libfuzzer.*']))
44 # Pylint2.7 is run on subdirs whose presubmit checks are migrated to Python3
45 output.extend(input_api.canned_checks.RunPylint(
46 input_api,
47 output_api,
48 files_to_check=[r'buildbot.*\.py$',
49 r'merge_scripts.*\.py$',
50 r'trigger_scripts.*\.py$',
51 r'unexpected_passes_common.*\.py$',
52 r'clusterfuzz.*\.py$',
53 r'libfuzzer.*\.py$'],
Joshua Hood7827f5f02022-03-01 16:31:0054 version='2.7'))
55
[email protected]e615e9c2012-03-07 21:39:0056 return output
57
58
59def CheckChangeOnUpload(input_api, output_api):
60 return CommonChecks(input_api, output_api)
61
62
63def CheckChangeOnCommit(input_api, output_api):
64 return CommonChecks(input_api, output_api)