aboutsummaryrefslogtreecommitdiffhomepage
path: root/PRESUBMIT.py
diff options
context:
space:
mode:
authorGravatar Eric Boren <borenet@google.com>2014-06-25 11:13:27 -0400
committerGravatar Eric Boren <borenet@google.com>2014-06-25 11:13:27 -0400
commitbb0ef0a1345671f94950bd0a405399954db21d97 (patch)
treeb56bf26a017e4c9246973f878545379158249f12 /PRESUBMIT.py
parent55106da359ba8cdff0e4e1f9561aff3b7fb4bb47 (diff)
Use new common tools in Python scripts
BUG=skia:2682 R=rmistry@google.com Review URL: https://codereview.chromium.org/330423004
Diffstat (limited to 'PRESUBMIT.py')
-rw-r--r--PRESUBMIT.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index dc8cb77c0c..81bb257b92 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -46,6 +46,31 @@ def _CheckChangeHasEol(input_api, output_api, source_file_filter=None):
return []
+def _PythonChecks(input_api, output_api):
+ """Run checks on any modified Python files."""
+ pylint_disabled_warnings = (
+ 'F0401', # Unable to import.
+ 'E0611', # No name in module.
+ 'W0232', # Class has no __init__ method.
+ 'E1002', # Use of super on an old style class.
+ 'W0403', # Relative import used.
+ 'R0201', # Method could be a function.
+ 'E1003', # Using class name in super.
+ 'W0613', # Unused argument.
+ )
+ # Run Pylint on only the modified python files. Unfortunately it still runs
+ # Pylint on the whole file instead of just the modified lines.
+ affected_python_files = []
+ for affected_file in input_api.AffectedSourceFiles(None):
+ affected_file_path = affected_file.LocalPath()
+ if affected_file_path.endswith('.py'):
+ affected_python_files.append(affected_file_path)
+ return input_api.canned_checks.RunPylint(
+ input_api, output_api,
+ disabled_warnings=pylint_disabled_warnings,
+ white_list=affected_python_files)
+
+
def _CommonChecks(input_api, output_api):
"""Presubmit checks common to upload and commit."""
results = []
@@ -58,6 +83,7 @@ def _CommonChecks(input_api, output_api):
results.extend(
_CheckChangeHasEol(
input_api, output_api, source_file_filter=sources))
+ results.extend(_PythonChecks(input_api, output_api))
return results
@@ -189,7 +215,7 @@ def _CheckLGTMsForPublicAPI(input_api, output_api):
'lgtm' in message['text'].lower()):
# Found an lgtm in a message from an owner.
lgtm_from_owner = True
- break;
+ break
if not lgtm_from_owner:
results.append(