aboutsummaryrefslogtreecommitdiffhomepage
path: root/PRESUBMIT.py
diff options
context:
space:
mode:
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 e0e01fb30f..95fea4f8db 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -185,6 +185,23 @@ def _RecipeSimulationTest(input_api, output_api):
'`%s` failed:\n%s' % (' '.join(cmd), e.output)))
return results
+def _CheckGNFormatted(input_api, output_api):
+ """Make sure any .gn files we're changing have been formatted."""
+ results = []
+ for f in input_api.AffectedFiles():
+ if not f.LocalPath().endswith('.gn'):
+ continue
+
+ cmd = ['gn', 'format', '--dry-run', f.LocalPath()]
+ try:
+ subprocess.check_output(cmd)
+ except subprocess.CalledProcessError:
+ fix = cmd[:]
+ fix[2] = '--in-place'
+ results.append(output_api.PresubmitError(
+ '`%s` failed, try\n\t%s' % (' '.join(cmd), ' '.join(fix))))
+ return results
+
def _CommonChecks(input_api, output_api):
"""Presubmit checks common to upload and commit."""
@@ -222,6 +239,7 @@ def CheckChangeOnUpload(input_api, output_api):
# Run on upload, not commit, since the presubmit bot apparently doesn't have
# coverage installed.
results.extend(_RecipeSimulationTest(input_api, output_api))
+ results.extend(_CheckGNFormatted(input_api, output_api))
return results