xref: /aosp_15_r20/external/cronet/testing/PRESUBMIT.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2012 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 Worker"""Top-level presubmit script for testing.
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard WorkerSee http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8*6777b538SAndroid Build Coastguard Workerfor more details on the presubmit API built into depot_tools.
9*6777b538SAndroid Build Coastguard Worker"""
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard WorkerPRESUBMIT_VERSION = '2.0.0'
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Worker
14*6777b538SAndroid Build Coastguard Workerdef _GetTestingEnv(input_api):
15*6777b538SAndroid Build Coastguard Worker  """Gets the common environment for running testing/ tests."""
16*6777b538SAndroid Build Coastguard Worker  testing_env = dict(input_api.environ)
17*6777b538SAndroid Build Coastguard Worker  testing_path = input_api.PresubmitLocalPath()
18*6777b538SAndroid Build Coastguard Worker  # TODO(crbug.com/1358733): This is temporary till gpu code in
19*6777b538SAndroid Build Coastguard Worker  # flake_suppressor_commonis moved to gpu dir.
20*6777b538SAndroid Build Coastguard Worker  # Only common code will reside under /testing.
21*6777b538SAndroid Build Coastguard Worker  gpu_test_path = input_api.os_path.join(
22*6777b538SAndroid Build Coastguard Worker      input_api.PresubmitLocalPath(), '..', 'content', 'test', 'gpu')
23*6777b538SAndroid Build Coastguard Worker  testing_env.update({
24*6777b538SAndroid Build Coastguard Worker      'PYTHONPATH': input_api.os_path.pathsep.join(
25*6777b538SAndroid Build Coastguard Worker        [testing_path, gpu_test_path]),
26*6777b538SAndroid Build Coastguard Worker      'PYTHONDONTWRITEBYTECODE': '1',
27*6777b538SAndroid Build Coastguard Worker  })
28*6777b538SAndroid Build Coastguard Worker  return testing_env
29*6777b538SAndroid Build Coastguard Worker
30*6777b538SAndroid Build Coastguard Worker
31*6777b538SAndroid Build Coastguard Workerdef CheckFlakeSuppressorCommonUnittests(input_api, output_api):
32*6777b538SAndroid Build Coastguard Worker  """Runs unittests in the testing/flake_suppressor_common/ directory."""
33*6777b538SAndroid Build Coastguard Worker  return input_api.canned_checks.RunUnitTestsInDirectory(
34*6777b538SAndroid Build Coastguard Worker      input_api,
35*6777b538SAndroid Build Coastguard Worker      output_api,
36*6777b538SAndroid Build Coastguard Worker      input_api.os_path.join(input_api.PresubmitLocalPath(),
37*6777b538SAndroid Build Coastguard Worker                             'flake_suppressor_common'),
38*6777b538SAndroid Build Coastguard Worker      [r'^.+_unittest\.py$'],
39*6777b538SAndroid Build Coastguard Worker      env=_GetTestingEnv(input_api))
40*6777b538SAndroid Build Coastguard Worker
41*6777b538SAndroid Build Coastguard Worker
42*6777b538SAndroid Build Coastguard Workerdef CheckUnexpectedPassesCommonUnittests(input_api, output_api):
43*6777b538SAndroid Build Coastguard Worker  """Runs unittests in the testing/unexpected_passes_common/ directory."""
44*6777b538SAndroid Build Coastguard Worker  return input_api.canned_checks.RunUnitTestsInDirectory(
45*6777b538SAndroid Build Coastguard Worker      input_api,
46*6777b538SAndroid Build Coastguard Worker      output_api,
47*6777b538SAndroid Build Coastguard Worker      input_api.os_path.join(input_api.PresubmitLocalPath(),
48*6777b538SAndroid Build Coastguard Worker                             'unexpected_passes_common'),
49*6777b538SAndroid Build Coastguard Worker      [r'^.+_unittest\.py$'],
50*6777b538SAndroid Build Coastguard Worker      env=_GetTestingEnv(input_api))
51*6777b538SAndroid Build Coastguard Worker
52*6777b538SAndroid Build Coastguard Worker
53*6777b538SAndroid Build Coastguard Workerdef CheckPylint(input_api, output_api):
54*6777b538SAndroid Build Coastguard Worker  """Runs pylint on all directory content and subdirectories."""
55*6777b538SAndroid Build Coastguard Worker  files_to_skip = input_api.DEFAULT_FILES_TO_SKIP
56*6777b538SAndroid Build Coastguard Worker  if input_api.is_windows:
57*6777b538SAndroid Build Coastguard Worker    # These scripts don't run on Windows and should not be linted on Windows -
58*6777b538SAndroid Build Coastguard Worker    # trying to do so will lead to spurious errors.
59*6777b538SAndroid Build Coastguard Worker    files_to_skip += ('xvfb.py', '.*host_info.py')
60*6777b538SAndroid Build Coastguard Worker  pylint_checks = input_api.canned_checks.GetPylint(
61*6777b538SAndroid Build Coastguard Worker      input_api,
62*6777b538SAndroid Build Coastguard Worker      output_api,
63*6777b538SAndroid Build Coastguard Worker      files_to_skip=files_to_skip,
64*6777b538SAndroid Build Coastguard Worker      version='2.7')
65*6777b538SAndroid Build Coastguard Worker  return input_api.RunTests(pylint_checks)
66