summaryrefslogtreecommitdiffstats
path: root/PRESUBMIT.py
diff options
context:
space:
mode:
authorcsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 15:31:22 +0000
committercsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-08 15:31:22 +0000
commitfbcafe5a12003771d8242ceead3bc308038fc5ef (patch)
tree688a00e77c5f8848849855e74ef492e3a2165344 /PRESUBMIT.py
parent68064fc177cd8945dddc0a19dfbe27a5c2bf28f1 (diff)
downloadchromium_src-fbcafe5a12003771d8242ceead3bc308038fc5ef.zip
chromium_src-fbcafe5a12003771d8242ceead3bc308038fc5ef.tar.gz
chromium_src-fbcafe5a12003771d8242ceead3bc308038fc5ef.tar.bz2
Add permission checking to the presumit checks.
BUG=71975 Review URL: https://chromiumcodereview.appspot.com/10831194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150557 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'PRESUBMIT.py')
-rw-r--r--PRESUBMIT.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 3352574..9df2cfd 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -10,6 +10,7 @@ for more details about the presubmit API built into gcl.
import re
+import subprocess
import sys
@@ -435,6 +436,22 @@ def _CheckUnwantedDependencies(input_api, output_api):
return results
+def _CheckFilePermissions(input_api, output_api):
+ """Check that all files have their permissions properly set."""
+ args = [sys.executable, 'tools/checkperms/checkperms.py', '--root',
+ input_api.change.RepositoryRoot()]
+ for f in input_api.AffectedFiles():
+ args += ['--file', f.LocalPath()]
+ errors = []
+ (errors, stderrdata) = subprocess.Popen(args).communicate()
+
+ results = []
+ if errors:
+ results.append(output_api.PreSubmitError('checkperms.py failed.',
+ errors))
+ return results
+
+
def _CommonChecks(input_api, output_api):
"""Checks common to both upload and commit."""
results = []
@@ -450,6 +467,7 @@ def _CommonChecks(input_api, output_api):
results.extend(_CheckNoBannedFunctions(input_api, output_api))
results.extend(_CheckNoPragmaOnce(input_api, output_api))
results.extend(_CheckUnwantedDependencies(input_api, output_api))
+ results.extend(_CheckFilePermissions(input_api, output_api))
return results