diff --git a/PRESUBMIT.py b/PRESUBMIT.py index ff218b34e5..d79c1a7d71 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -25,6 +25,7 @@ def CheckChangeOnUpload(input_api, output_api): output_api, UNIT_TESTS)) output.extend(WasGitClUploadHookModified(input_api, output_api)) + output.extend(RunPylint(input_api, output_api)) return output @@ -36,6 +37,7 @@ def CheckChangeOnCommit(input_api, output_api): output.extend(input_api.canned_checks.CheckDoNotSubmit(input_api, output_api)) output.extend(WasGitClUploadHookModified(input_api, output_api)) + output.extend(RunPylint(input_api, output_api)) return output def WasGitClUploadHookModified(input_api, output_api): @@ -46,3 +48,16 @@ def WasGitClUploadHookModified(input_api, output_api): 'Don\'t forget to fix git-cl to download the newest version of ' 'git-cl-upload-hook')] return [] + +def RunPylint(input_api, output_api): + import glob + files = glob.glob('*.py') + # It's a python script + files.append('git-try') + # It uses non-standard pylint exceptions that makes pylint always fail. + files.remove('cpplint.py') + proc = input_api.subprocess.Popen(['pylint', '-E'] + files) + proc.communicate() + if proc.returncode: + return [output_api.PresubmitError('Fix pylint errors first.')] + return [] diff --git a/chrome-update.py b/chrome-update.py index 6398230542..a2baa43c52 100755 --- a/chrome-update.py +++ b/chrome-update.py @@ -133,7 +133,7 @@ def Main(): help="doesn't sync before building") parser.add_option("", "--print-latest", action="store_true", default=False, help="print the latest buildable revision and exit") - options, args = parser.parse_args() + options, args = parser.parse_args(None) if options.print_latest: print GetRevision() or "HEAD" diff --git a/drover.py b/drover.py index 77922cd705..9329fda2b6 100755 --- a/drover.py +++ b/drover.py @@ -402,11 +402,9 @@ def drover(options, args): # Override the default properties if there is a drover.properties file. global file_pattern_ if os.path.exists("drover.properties"): - f = open("drover.properties") - exec(f) - f.close() - if FILE_PATTERN: - file_pattern_ = FILE_PATTERN + FILE_PATTERN = file_pattern_ + execfile("drover.properties") + file_pattern_ = FILE_PATTERN if options.revert and options.branch: url = BRANCH_URL.replace("$branch", options.branch) diff --git a/presubmit_support.py b/presubmit_support.py index f0676c65fa..c03c3eabf3 100755 --- a/presubmit_support.py +++ b/presubmit_support.py @@ -588,18 +588,18 @@ class Change(object): # From the description text, build up a dictionary of key/value pairs # plus the description minus all key/value or "tag" lines. - self._description_without_tags = [] + description_without_tags = [] self.tags = {} for line in self._full_description.splitlines(): m = self._TAG_LINE_RE.match(line) if m: self.tags[m.group('key')] = m.group('value') else: - self._description_without_tags.append(line) + description_without_tags.append(line) # Change back to text and remove whitespace at end. - self._description_without_tags = '\n'.join(self._description_without_tags) - self._description_without_tags = self._description_without_tags.rstrip() + self._description_without_tags = ( + '\n'.join(description_without_tags).rstrip()) self._affected_files = [ self._AFFECTED_FILES(info[1], info[0].strip(), self._local_root)