Chromium Code Reviews| Index: tools/memory_inspector/PRESUBMIT.py |
| diff --git a/tools/memory_inspector/PRESUBMIT.py b/tools/memory_inspector/PRESUBMIT.py |
| index 5d0e21e3d35ec130486171526ef8518fef52cd38..9e44d9e8d2e3abd16dcc95c2dbaa7c99c15328c8 100644 |
| --- a/tools/memory_inspector/PRESUBMIT.py |
| +++ b/tools/memory_inspector/PRESUBMIT.py |
| @@ -9,7 +9,7 @@ details on the presubmit API built into gcl. |
| """ |
| -def CommonChecks(input_api, output_api): |
| +def _CommonChecks(input_api, output_api): |
| output = [] |
| blacklist = [r'classification_rules.*'] |
| output.extend(input_api.canned_checks.RunPylint( |
| @@ -30,9 +30,46 @@ def CommonChecks(input_api, output_api): |
| return output |
| +def _CheckPrebuiltsAreUploaded(input_api, output_api): |
| + import sys |
| + import urllib2 |
| + old_sys_path = sys.path[:] |
|
M-A Ruel
2014/09/12 13:58:37
Actually you want to do the reverse;
old_sys_path
Primiano Tucci (use gerrit)
2014/09/12 15:30:41
Uh? I'm fine both ways.
Can I ask just you what wo
M-A Ruel
2014/09/16 13:00:19
Well, the original could be something else than a
|
| + try: |
| + sys.path.append(input_api.os_path.join(input_api.PresubmitLocalPath())) |
| + from memory_inspector import constants |
| + finally: |
| + sys.path = old_sys_path |
| + missing_files = [] |
| + for f in input_api.os_listdir(constants.PREBUILTS_PATH): |
| + if not f.endswith('.sha1'): |
| + continue |
| + prebuilt_sha_path = input_api.os_path.join(constants.PREBUILTS_PATH, f) |
| + with open(prebuilt_sha_path) as sha_file: |
| + sha = sha_file.read().strip() |
| + url = constants.PREBUILTS_BASE_URL + sha |
|
M-A Ruel
2014/09/12 13:58:37
Is it https?
Primiano Tucci (use gerrit)
2014/09/12 15:30:42
Yes, it is
PREBUILTS_BASE_URL = 'https://storage.g
|
| + request = urllib2.Request(url) |
| + request.get_method = lambda : 'HEAD' |
| + try: |
| + urllib2.urlopen(request) |
|
M-A Ruel
2014/09/12 13:58:37
Use a timeout
Primiano Tucci (use gerrit)
2014/09/12 15:30:41
Done.
|
| + except Exception, e: |
|
M-A Ruel
2014/09/12 13:58:37
Exception as e:
Primiano Tucci (use gerrit)
2014/09/12 15:30:42
Done.
|
| + if isinstance(e, urllib2.HTTPError) and e.code == 404: |
| + missing_files += [prebuilt_sha_path] |
| + else: |
| + return [output_api.PresubmitError('HTTP Error while checking %s' % url, |
| + long_text=str(e))] |
| + if missing_files: |
| + return [output_api.PresubmitError( |
| + 'Some prebuilts have not been uploaded. Perhaps you forgot to ' |
| + 'upload_to_google_storage.py?', missing_files)] |
| + return [] |
| + |
| + |
| def CheckChangeOnUpload(input_api, output_api): |
| - return CommonChecks(input_api, output_api) |
| + results = [] |
| + results.extend(_CommonChecks(input_api, output_api)) |
| + results.extend(_CheckPrebuiltsAreUploaded(input_api, output_api)) |
| + return results |
| def CheckChangeOnCommit(input_api, output_api): |
| - return CommonChecks(input_api, output_api) |
| + return _CommonChecks(input_api, output_api) |