| Index: tools/memory_inspector/PRESUBMIT.py
|
| diff --git a/tools/memory_inspector/PRESUBMIT.py b/tools/memory_inspector/PRESUBMIT.py
|
| index 5d0e21e3d35ec130486171526ef8518fef52cd38..d25d05a3645deaf7fc062cfcc4866e759b44bee7 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
|
| + 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
|
| + request = urllib2.Request(url)
|
| + request.get_method = lambda : 'HEAD'
|
| + try:
|
| + urllib2.urlopen(request)
|
| + except Exception, e:
|
| + 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)
|
|
|