| Index: PRESUBMIT.py
|
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py
|
| index a832761c89dbd05a4205729a132260d5df334b22..3fdfe7fc111eea8b658a1eeb6f4eb0560674375c 100755
|
| --- a/PRESUBMIT.py
|
| +++ b/PRESUBMIT.py
|
| @@ -14,6 +14,12 @@ import subprocess
|
| import sys
|
|
|
|
|
| +# Directories that will be scanned by cpplint by the presubmit script.
|
| +CPPLINT_DIRS = [
|
| + 'webrtc/video_engine',
|
| +]
|
| +
|
| +
|
| def _CheckNoIOStreamInHeaders(input_api, output_api):
|
| """Checks to make sure no .h files include <iostream>."""
|
| files = []
|
| @@ -54,6 +60,14 @@ def _CheckNoFRIEND_TEST(input_api, output_api):
|
| 'use FRIEND_TEST_ALL_PREFIXES() instead.\n' + '\n'.join(problems))]
|
|
|
|
|
| +def _IsLintWhitelisted(whitelist_dirs, file_path):
|
| + """ Checks if a file is whitelisted for lint check."""
|
| + for path in whitelist_dirs:
|
| + if os.path.dirname(file_path).startswith(path):
|
| + return True
|
| + return False
|
| +
|
| +
|
| def _CheckApprovedFilesLintClean(input_api, output_api,
|
| source_file_filter=None):
|
| """Checks that all new or whitelisted .cc and .h files pass cpplint.py.
|
| @@ -68,6 +82,10 @@ def _CheckApprovedFilesLintClean(input_api, output_api,
|
| # pylint: disable=W0212
|
| cpplint._cpplint_state.ResetErrorCounts()
|
|
|
| + # Create a platform independent whitelist for the CPPLINT_DIRS.
|
| + whitelist_dirs = [input_api.os_path.join(*path.split('/'))
|
| + for path in CPPLINT_DIRS]
|
| +
|
| # Use the strictest verbosity level for cpplint.py (level 1) which is the
|
| # default when running cpplint.py from command line.
|
| # To make it possible to work with not-yet-converted code, we're only applying
|
| @@ -76,7 +94,7 @@ def _CheckApprovedFilesLintClean(input_api, output_api,
|
| files = []
|
| for f in input_api.AffectedSourceFiles(source_file_filter):
|
| # Note that moved/renamed files also count as added.
|
| - if f.Action() == 'A':
|
| + if f.Action() == 'A' or _IsLintWhitelisted(whitelist_dirs, f.LocalPath()):
|
| files.append(f.AbsoluteLocalPath())
|
|
|
| for file_name in files:
|
| @@ -249,6 +267,7 @@ def _RunPythonTests(input_api, output_api):
|
| def _CommonChecks(input_api, output_api):
|
| """Checks common to both upload and commit."""
|
| results = []
|
| + results.extend(_CheckApprovedFilesLintClean(input_api, output_api))
|
| results.extend(input_api.canned_checks.RunPylint(input_api, output_api,
|
| black_list=(r'^.*gviz_api\.py$',
|
| r'^.*gaeunit\.py$',
|
| @@ -298,7 +317,6 @@ def _CommonChecks(input_api, output_api):
|
| input_api, output_api))
|
| results.extend(input_api.canned_checks.CheckChangeTodoHasOwner(
|
| input_api, output_api))
|
| - results.extend(_CheckApprovedFilesLintClean(input_api, output_api))
|
| results.extend(_CheckNoIOStreamInHeaders(input_api, output_api))
|
| results.extend(_CheckNoFRIEND_TEST(input_api, output_api))
|
| results.extend(_CheckGypChanges(input_api, output_api))
|
|
|