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