| Index: PRESUBMIT.py
|
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py
|
| index 01a0444f590d77430a7d3118bafee5eb2221aefb..cea31e95d3f3c75b74c8d5678d33a5fea2c946f3 100644
|
| --- a/PRESUBMIT.py
|
| +++ b/PRESUBMIT.py
|
| @@ -11,23 +11,28 @@ import sys
|
|
|
| # List of directories to not apply presubmit project checks, relative
|
| # to the NaCl top directory
|
| -EXCLUDE_PROJECT_CHECKS_DIRS = [
|
| +EXCLUDE_PROJECT_CHECKS = [
|
| # The following contain test data (including automatically generated),
|
| # and do not follow our conventions.
|
| - 'src/trusted/validator_ragel/testdata/32',
|
| - 'src/trusted/validator_ragel/testdata/64',
|
| - 'src/trusted/validator_x86/testdata/32',
|
| - 'src/trusted/validator_x86/testdata/64',
|
| - 'src/trusted/validator/x86/decoder/generator/testdata/32',
|
| - 'src/trusted/validator/x86/decoder/generator/testdata/64',
|
| + 'src/trusted/validator_ragel/testdata/32/',
|
| + 'src/trusted/validator_ragel/testdata/64/',
|
| + 'src/trusted/validator_x86/testdata/32/',
|
| + 'src/trusted/validator_x86/testdata/64/',
|
| + 'src/trusted/validator/x86/decoder/generator/testdata/32/',
|
| + 'src/trusted/validator/x86/decoder/generator/testdata/64/',
|
| # The following directories contains automatically generated source,
|
| # which may not follow our conventions.
|
| - 'src/trusted/validator_x86/gen',
|
| - 'src/trusted/validator/x86/decoder/gen',
|
| - 'src/trusted/validator/x86/decoder/generator/gen',
|
| - 'src/trusted/validator/x86/ncval_seg_sfi/gen',
|
| - 'src/trusted/validator_arm/gen',
|
| - 'src/trusted/validator_ragel/gen',
|
| + 'src/trusted/validator_x86/gen/',
|
| + 'src/trusted/validator/x86/decoder/gen/',
|
| + 'src/trusted/validator/x86/decoder/generator/gen/',
|
| + 'src/trusted/validator/x86/ncval_seg_sfi/gen/',
|
| + 'src/trusted/validator_arm/gen/',
|
| + 'src/trusted/validator_ragel/gen/',
|
| + # The following files contain code from outside native_client (e.g. newlib)
|
| + # or are known the contain style violations.
|
| + 'src/trusted/service_runtime/include/sys/',
|
| + 'src/include/win/port_win.h',
|
| + 'src/trusted/service_runtime/include/machine/_types.h'
|
| ]
|
|
|
| NACL_TOP_DIR = os.getcwd()
|
| @@ -35,6 +40,7 @@ while not os.path.isfile(os.path.join(NACL_TOP_DIR, 'PRESUBMIT.py')):
|
| NACL_TOP_DIR = os.path.dirname(NACL_TOP_DIR)
|
| assert len(NACL_TOP_DIR) >= 3, "Could not find NaClTopDir"
|
|
|
| +
|
| def CheckGitBranch():
|
| p = subprocess.Popen("git branch -vv", shell=True,
|
| stdout=subprocess.PIPE)
|
| @@ -57,24 +63,27 @@ def CheckGitBranch():
|
| print 'Warning: presubmit check could not determine local git branch'
|
| return None
|
|
|
| +
|
| def _CommonChecks(input_api, output_api):
|
| """Checks for both upload and commit."""
|
| results = []
|
| results.extend(input_api.canned_checks.PanProjectChecks(
|
| input_api, output_api, project_name='Native Client',
|
| - excluded_paths=tuple(EXCLUDE_PROJECT_CHECKS_DIRS)))
|
| + excluded_paths=tuple(EXCLUDE_PROJECT_CHECKS)))
|
| branch_warning = CheckGitBranch()
|
| if branch_warning:
|
| results.append(output_api.PresubmitPromptWarning(branch_warning))
|
| return results
|
|
|
| +
|
| def IsFileInDirectories(f, dirs):
|
| """ Returns true if f is in list of directories"""
|
| for d in dirs:
|
| - if d is os.path.commonprefix([f , d]):
|
| + if d is os.path.commonprefix([f, d]):
|
| return True
|
| return False
|
|
|
| +
|
| def CheckChangeOnUpload(input_api, output_api):
|
| """Verifies all changes in all files.
|
| Args:
|
| @@ -97,10 +106,11 @@ def CheckChangeOnUpload(input_api, output_api):
|
| del old_sys_path
|
|
|
| affected_files = input_api.AffectedFiles(include_deletes=False)
|
| - exclude_dirs = [ NACL_TOP_DIR + '/' + x + '/'
|
| - for x in EXCLUDE_PROJECT_CHECKS_DIRS ]
|
| + exclude_dirs = [ NACL_TOP_DIR + '/' + x for x in EXCLUDE_PROJECT_CHECKS ]
|
| for filename in affected_files:
|
| filename = filename.AbsoluteLocalPath()
|
| + if filename in exclude_dirs:
|
| + continue
|
| if not IsFileInDirectories(filename, exclude_dirs):
|
| errors, warnings = code_hygiene.CheckFile(filename, False)
|
| for e in errors:
|
|
|