summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/util/PRESUBMIT.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/util/PRESUBMIT.py')
-rw-r--r--third_party/libwebrtc/build/util/PRESUBMIT.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/util/PRESUBMIT.py b/third_party/libwebrtc/build/util/PRESUBMIT.py
new file mode 100644
index 0000000000..575c806d3c
--- /dev/null
+++ b/third_party/libwebrtc/build/util/PRESUBMIT.py
@@ -0,0 +1,64 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import re
+"""Presubmit for build/util"""
+
+
+USE_PYTHON3 = True
+
+
+def _GetFilesToSkip(input_api):
+ files_to_skip = []
+ affected_files = input_api.change.AffectedFiles()
+ version_script_change = next(
+ (f for f in affected_files
+ if re.search('\\/version\\.py$|\\/version_test\\.py$', f.LocalPath())),
+ None)
+
+ if version_script_change is None:
+ files_to_skip.append('version_test\\.py$')
+
+ android_chrome_version_script_change = next(
+ (f for f in affected_files if re.search(
+ '\\/android_chrome_version\\.py$|'
+ '\\/android_chrome_version_test\\.py$', f.LocalPath())), None)
+
+ if android_chrome_version_script_change is None:
+ files_to_skip.append('android_chrome_version_test\\.py$')
+
+ return files_to_skip
+
+
+def _GetPythonUnitTests(input_api, output_api):
+ # No need to test if files are unchanged
+ files_to_skip = _GetFilesToSkip(input_api)
+
+ return input_api.canned_checks.GetUnitTestsRecursively(
+ input_api,
+ output_api,
+ input_api.PresubmitLocalPath(),
+ files_to_check=['.*_test\\.py$'],
+ files_to_skip=files_to_skip,
+ run_on_python2=False,
+ run_on_python3=True,
+ skip_shebang_check=True)
+
+
+def CommonChecks(input_api, output_api):
+ """Presubmit checks run on both upload and commit.
+ """
+ checks = []
+ checks.extend(_GetPythonUnitTests(input_api, output_api))
+ return input_api.RunTests(checks, False)
+
+
+def CheckChangeOnUpload(input_api, output_api):
+ """Presubmit checks on CL upload."""
+ return CommonChecks(input_api, output_api)
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ """Presubmit checks on commit."""
+ return CommonChecks(input_api, output_api)