xref: /aosp_15_r20/external/webrtc/tools_webrtc/mb/PRESUBMIT.py (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker#!/usr/bin/env vpython3
2*d9f75844SAndroid Build Coastguard Worker
3*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
4*d9f75844SAndroid Build Coastguard Worker#
5*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
6*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
7*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
8*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
9*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Worker
12*d9f75844SAndroid Build Coastguard Worker# Runs PRESUBMIT.py in py3 mode by git cl presubmit.
13*d9f75844SAndroid Build Coastguard WorkerUSE_PYTHON3 = True
14*d9f75844SAndroid Build Coastguard Worker
15*d9f75844SAndroid Build Coastguard Worker
16*d9f75844SAndroid Build Coastguard Workerdef _CommonChecks(input_api, output_api):
17*d9f75844SAndroid Build Coastguard Worker  results = []
18*d9f75844SAndroid Build Coastguard Worker
19*d9f75844SAndroid Build Coastguard Worker  # Run the MB unittests.
20*d9f75844SAndroid Build Coastguard Worker  results.extend(
21*d9f75844SAndroid Build Coastguard Worker      input_api.canned_checks.RunUnitTestsInDirectory(input_api,
22*d9f75844SAndroid Build Coastguard Worker                                                      output_api,
23*d9f75844SAndroid Build Coastguard Worker                                                      '.',
24*d9f75844SAndroid Build Coastguard Worker                                                      [r'^.+_unittest\.py$'],
25*d9f75844SAndroid Build Coastguard Worker                                                      skip_shebang_check=False,
26*d9f75844SAndroid Build Coastguard Worker                                                      run_on_python2=False))
27*d9f75844SAndroid Build Coastguard Worker
28*d9f75844SAndroid Build Coastguard Worker  # Validate the format of the mb_config.pyl file.
29*d9f75844SAndroid Build Coastguard Worker  cmd = [input_api.python3_executable, 'mb.py', 'validate']
30*d9f75844SAndroid Build Coastguard Worker  kwargs = {'cwd': input_api.PresubmitLocalPath()}
31*d9f75844SAndroid Build Coastguard Worker  results.extend(input_api.RunTests([
32*d9f75844SAndroid Build Coastguard Worker      input_api.Command(name='mb_validate',
33*d9f75844SAndroid Build Coastguard Worker                        cmd=cmd, kwargs=kwargs,
34*d9f75844SAndroid Build Coastguard Worker                        message=output_api.PresubmitError)]))
35*d9f75844SAndroid Build Coastguard Worker
36*d9f75844SAndroid Build Coastguard Worker  results.extend(
37*d9f75844SAndroid Build Coastguard Worker      input_api.canned_checks.CheckLongLines(
38*d9f75844SAndroid Build Coastguard Worker          input_api,
39*d9f75844SAndroid Build Coastguard Worker          output_api,
40*d9f75844SAndroid Build Coastguard Worker          maxlen=80,
41*d9f75844SAndroid Build Coastguard Worker          source_file_filter=lambda x: 'mb_config.pyl' in x.LocalPath()))
42*d9f75844SAndroid Build Coastguard Worker
43*d9f75844SAndroid Build Coastguard Worker  return results
44*d9f75844SAndroid Build Coastguard Worker
45*d9f75844SAndroid Build Coastguard Worker
46*d9f75844SAndroid Build Coastguard Workerdef CheckChangeOnUpload(input_api, output_api):
47*d9f75844SAndroid Build Coastguard Worker  return _CommonChecks(input_api, output_api)
48*d9f75844SAndroid Build Coastguard Worker
49*d9f75844SAndroid Build Coastguard Worker
50*d9f75844SAndroid Build Coastguard Workerdef CheckChangeOnCommit(input_api, output_api):
51*d9f75844SAndroid Build Coastguard Worker  return _CommonChecks(input_api, output_api)
52