xref: /aosp_15_r20/external/cronet/build/util/PRESUBMIT.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2019 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport re
6*6777b538SAndroid Build Coastguard Worker"""Presubmit for build/util"""
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Workerdef _GetFilesToSkip(input_api):
12*6777b538SAndroid Build Coastguard Worker  files_to_skip = []
13*6777b538SAndroid Build Coastguard Worker  affected_files = input_api.change.AffectedFiles()
14*6777b538SAndroid Build Coastguard Worker  version_script_change = next(
15*6777b538SAndroid Build Coastguard Worker      (f for f in affected_files
16*6777b538SAndroid Build Coastguard Worker       if re.search('\\/version\\.py$|\\/version_test\\.py$', f.LocalPath())),
17*6777b538SAndroid Build Coastguard Worker      None)
18*6777b538SAndroid Build Coastguard Worker
19*6777b538SAndroid Build Coastguard Worker  if version_script_change is None:
20*6777b538SAndroid Build Coastguard Worker    files_to_skip.append('version_test\\.py$')
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Worker  android_chrome_version_script_change = next(
23*6777b538SAndroid Build Coastguard Worker      (f for f in affected_files if re.search(
24*6777b538SAndroid Build Coastguard Worker          '\\/android_chrome_version\\.py$|'
25*6777b538SAndroid Build Coastguard Worker          '\\/android_chrome_version_test\\.py$', f.LocalPath())), None)
26*6777b538SAndroid Build Coastguard Worker
27*6777b538SAndroid Build Coastguard Worker  if android_chrome_version_script_change is None:
28*6777b538SAndroid Build Coastguard Worker    files_to_skip.append('android_chrome_version_test\\.py$')
29*6777b538SAndroid Build Coastguard Worker
30*6777b538SAndroid Build Coastguard Worker  return files_to_skip
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Worker
33*6777b538SAndroid Build Coastguard Workerdef _GetPythonUnitTests(input_api, output_api):
34*6777b538SAndroid Build Coastguard Worker  # No need to test if files are unchanged
35*6777b538SAndroid Build Coastguard Worker  files_to_skip = _GetFilesToSkip(input_api)
36*6777b538SAndroid Build Coastguard Worker
37*6777b538SAndroid Build Coastguard Worker  return input_api.canned_checks.GetUnitTestsRecursively(
38*6777b538SAndroid Build Coastguard Worker      input_api,
39*6777b538SAndroid Build Coastguard Worker      output_api,
40*6777b538SAndroid Build Coastguard Worker      input_api.PresubmitLocalPath(),
41*6777b538SAndroid Build Coastguard Worker      files_to_check=['.*_test\\.py$'],
42*6777b538SAndroid Build Coastguard Worker      files_to_skip=files_to_skip)
43*6777b538SAndroid Build Coastguard Worker
44*6777b538SAndroid Build Coastguard Worker
45*6777b538SAndroid Build Coastguard Workerdef CommonChecks(input_api, output_api):
46*6777b538SAndroid Build Coastguard Worker  """Presubmit checks run on both upload and commit.
47*6777b538SAndroid Build Coastguard Worker  """
48*6777b538SAndroid Build Coastguard Worker  checks = []
49*6777b538SAndroid Build Coastguard Worker  checks.extend(_GetPythonUnitTests(input_api, output_api))
50*6777b538SAndroid Build Coastguard Worker  return input_api.RunTests(checks, False)
51*6777b538SAndroid Build Coastguard Worker
52*6777b538SAndroid Build Coastguard Worker
53*6777b538SAndroid Build Coastguard Workerdef CheckChangeOnUpload(input_api, output_api):
54*6777b538SAndroid Build Coastguard Worker  """Presubmit checks on CL upload."""
55*6777b538SAndroid Build Coastguard Worker  return CommonChecks(input_api, output_api)
56*6777b538SAndroid Build Coastguard Worker
57*6777b538SAndroid Build Coastguard Worker
58*6777b538SAndroid Build Coastguard Workerdef CheckChangeOnCommit(input_api, output_api):
59*6777b538SAndroid Build Coastguard Worker  """Presubmit checks on commit."""
60*6777b538SAndroid Build Coastguard Worker  return CommonChecks(input_api, output_api)
61