Chromium Code Reviews| Index: PRESUBMIT.py |
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py |
| index 67d55784370af84d31bed60125693639449c3d1f..e6c107765321fafd1ebf5e9d3d887a8bad2e08ab 100644 |
| --- a/PRESUBMIT.py |
| +++ b/PRESUBMIT.py |
| @@ -9,6 +9,7 @@ for more details about the presubmit API built into gcl. |
| """ |
| +import json |
|
M-A Ruel
2014/04/24 00:32:50
not needed
|
| import re |
| import sys |
| @@ -1062,6 +1063,20 @@ def _CheckUserActionUpdate(input_api, output_api): |
| return [] |
| +def _CheckJSONParsability(input_api, output_api): |
| + results = [] |
| + file_filter = lambda f: f.LocalPath().endswith('.json') |
| + for fpath in input_api.AffectedFiles(file_filter= file_filter): |
|
M-A Ruel
2014/04/24 00:32:50
remove space
iannucci
2014/04/24 00:36:20
Oops, Done.
|
| + with open(fpath.LocalPath(), 'r') as f: |
| + try: |
| + json.load(f) |
|
M-A Ruel
2014/04/24 00:32:50
input_api.json.load(f)
iannucci
2014/04/24 00:36:20
Done.
|
| + except ValueError: |
| + results.append(output_api.PresubmitError( |
| + "File %r does not parse as valid JSON" % (fpath.LocalPath()) |
| + )) |
| + return results |
| + |
| + |
| def _CheckJavaStyle(input_api, output_api): |
| """Runs checkstyle on changed java files and returns errors if any exist.""" |
| original_sys_path = sys.path |
| @@ -1112,6 +1127,7 @@ def _CommonChecks(input_api, output_api): |
| results.extend(_CheckForAnonymousVariables(input_api, output_api)) |
| results.extend(_CheckCygwinShell(input_api, output_api)) |
| results.extend(_CheckUserActionUpdate(input_api, output_api)) |
| + results.extend(_CheckJSONParsability(input_api, output_api)) |
| if any('PRESUBMIT.py' == f.LocalPath() for f in input_api.AffectedFiles()): |
| results.extend(input_api.canned_checks.RunUnitTestsInDirectory( |