summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Alanis <alanisbaez@google.com>2021-07-02 18:45:03 +0000
committerRoberto Alanis <alanisbaez@google.com>2021-07-08 15:13:00 +0000
commit595c2f9114025cfea0d7b1a4681e51d521f0b71e (patch)
tree254f72c2b271e26642de5e55ab36509132543678
parent3d1f6dd8876ed87df705109edaeed35b96c3d116 (diff)
downloadlibwebm-595c2f9114025cfea0d7b1a4681e51d521f0b71e.tar.gz
Add patch-check steps in PRESUBMIT.py
It substitutes patch-check and style-check by: - clang format - cpplint - trailing whitespaces - EOL Change-Id: Icdd31cd753e23b4843078845bbfc5162abca6f90 Bug: chromium:1028422, b:192674826
-rw-r--r--PRESUBMIT.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
new file mode 100644
index 0000000..3bb42cb
--- /dev/null
+++ b/PRESUBMIT.py
@@ -0,0 +1,79 @@
+# Copyright (c) 2021, Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# * Neither the name of Google nor the names of its contributors may
+# be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""Top-level presubmit script for libwebm.
+
+See https://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for
+details on the presubmit API built into depot_tools.
+"""
+
+_INCLUDE_SOURCE_FILES_ONLY = [r'.*\.(c|cc|[hc]pp|h)$']
+_LIBWEBM_MAX_LINE_LENGTH = 80
+
+
+def _CheckChangeLintsClean(input_api, output_api):
+ """Makes sure that libwebm/ code is cpplint clean"""
+ sources = lambda x: input_api.FilterSourceFile(
+ x, files_to_check=_INCLUDE_SOURCE_FILES_ONLY, files_to_skip=None)
+ return input_api.canned_checks.CheckChangeLintsClean(
+ input_api, output_api, sources)
+
+
+def _CommonChecks(input_api, output_api):
+ results = []
+ results.extend(
+ input_api.canned_checks.CheckChangeHasNoCrAndHasOnlyOneEol(
+ input_api, output_api))
+ results.extend(
+ input_api.canned_checks.CheckChangeHasNoTabs(input_api, output_api))
+ results.extend(
+ input_api.canned_checks.CheckChangeHasNoStrayWhitespace(
+ input_api, output_api))
+ results.extend(
+ input_api.canned_checks.CheckLongLines(
+ input_api, output_api, maxlen=_LIBWEBM_MAX_LINE_LENGTH))
+ results.extend(
+ input_api.canned_checks.CheckPatchFormatted(input_api,
+ output_api,
+ check_python=True))
+ return results
+
+
+def CheckChangeOnUpload(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ results.extend(_CheckChangeLintsClean(input_api, output_api))
+ return results
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ results = []
+ results.extend(_CommonChecks(input_api, output_api))
+ results.extend(_CheckChangeLintsClean(input_api, output_api))
+ return results