Index: presubmit_canned_checks.py |
diff --git a/presubmit_canned_checks.py b/presubmit_canned_checks.py |
index a93a4fddd5c6f54dbd66d898009fe5b422ebff22..34b7df4519625a8a2b7f19dc15cd9592a32009ff 100644 |
--- a/presubmit_canned_checks.py |
+++ b/presubmit_canned_checks.py |
@@ -7,6 +7,27 @@ |
import os as _os |
_HERE = _os.path.dirname(_os.path.abspath(__file__)) |
+# Justifications for each filter: |
+# |
+# - build/include : Too many; fix in the future. |
+# - build/include_order : Not happening; #ifdefed includes. |
+# - build/namespace : I'm surprised by how often we violate this rule. |
+# - readability/casting : Mistakes a whole bunch of function pointer. |
+# - runtime/int : Can be fixed long term; volume of errors too high |
+# - runtime/virtual : Broken now, but can be fixed in the future? |
+# - whitespace/braces : We have a lot of explicit scoping in chrome code. |
+# - readability/inheritance : Temporary, while the OVERRIDE and FINAL fixup |
+# is in progress. |
+DEFAULT_LINT_FILTERS = [ |
+ '-build/include', |
+ '-build/include_order', |
+ '-build/namespace', |
+ '-readability/casting', |
+ '-runtime/int', |
+ '-runtime/virtual', |
+ '-whitespace/braces', |
+ '-readability/inheritance' |
+] |
### Description checks |
@@ -90,7 +111,8 @@ def CheckDoNotSubmitInFiles(input_api, output_api): |
return [] |
-def CheckChangeLintsClean(input_api, output_api, source_file_filter=None): |
+def CheckChangeLintsClean(input_api, output_api, source_file_filter=None, |
+ lint_filters=None): |
"""Checks that all '.cc' and '.h' files pass cpplint.py.""" |
_RE_IS_TEST = input_api.re.compile(r'.*tests?.(cc|h)$') |
result = [] |
@@ -100,20 +122,8 @@ def CheckChangeLintsClean(input_api, output_api, source_file_filter=None): |
# pylint: disable=W0212 |
cpplint._cpplint_state.ResetErrorCounts() |
- # Justifications for each filter: |
- # |
- # - build/include : Too many; fix in the future. |
- # - build/include_order : Not happening; #ifdefed includes. |
- # - build/namespace : I'm surprised by how often we violate this rule. |
- # - readability/casting : Mistakes a whole bunch of function pointer. |
- # - runtime/int : Can be fixed long term; volume of errors too high |
- # - runtime/virtual : Broken now, but can be fixed in the future? |
- # - whitespace/braces : We have a lot of explicit scoping in chrome code. |
- # - readability/inheritance : Temporary, while the OVERRIDE and FINAL fixup |
- # is in progress. |
- cpplint._SetFilters('-build/include,-build/include_order,-build/namespace,' |
- '-readability/casting,-runtime/int,-runtime/virtual,' |
- '-whitespace/braces,-readability/inheritance') |
+ lint_filters = lint_filters or DEFAULT_LINT_FILTERS |
+ cpplint._SetFilters(','.join(lint_filters)) |
# We currently are more strict with normal code than unit tests; 4 and 5 are |
# the verbosity level that would normally be passed to cpplint.py through |