| Index: tools/perf/PRESUBMIT.py
|
| diff --git a/tools/perf/PRESUBMIT.py b/tools/perf/PRESUBMIT.py
|
| index 7ac8a1831d5c7f738601cc403023e41a1b73fac2..70aadd7a160aa9352d758ff2820c2fbca308e03e 100644
|
| --- a/tools/perf/PRESUBMIT.py
|
| +++ b/tools/perf/PRESUBMIT.py
|
| @@ -31,11 +31,37 @@ def _CommonChecks(input_api, output_api):
|
| black_list=PYLINT_BLACKLIST,
|
| disabled_warnings=PYLINT_DISABLED_WARNINGS))
|
| results.extend(_CheckJson(input_api, output_api))
|
| + results.extend(_CheckWprShaFiles(input_api, output_api))
|
| finally:
|
| sys.path = old_sys_path
|
| return results
|
|
|
|
|
| +def _CheckWprShaFiles(input_api, output_api):
|
| + """Check whether the wpr sha files have matching URLs."""
|
| + from telemetry.util import cloud_storage
|
| + results = []
|
| + for affected_file in input_api.AffectedFiles(include_deletes=False):
|
| + filename = affected_file.AbsoluteLocalPath()
|
| + if not filename.endswith('wpr.sha1'):
|
| + continue
|
| + expected_hash = cloud_storage.ReadHash(filename)
|
| + is_wpr_file_uploaded = any(
|
| + cloud_storage.Exists(bucket, expected_hash)
|
| + for bucket in cloud_storage.BUCKET_ALIASES.itervalues())
|
| + if not is_wpr_file_uploaded:
|
| + wpr_filename = filename[:-5]
|
| + results.append(output_api.PresubmitError(
|
| + 'There is no URLs matched for wpr sha file %s.\n'
|
| + 'You can upload your new wpr archive file with the command:\n'
|
| + 'depot_tools/upload_to_google_storage.py --bucket '
|
| + '<Your pageset\'s bucket> %s.\nFor more info: see '
|
| + 'http://www.chromium.org/developers/telemetry/'
|
| + 'record_a_page_set#TOC-Upload-the-recording-to-Cloud-Storage' %
|
| + (filename, wpr_filename)))
|
| + return results
|
| +
|
| +
|
| def _CheckJson(input_api, output_api):
|
| """Checks whether JSON files in this change can be parsed."""
|
| for affected_file in input_api.AffectedFiles(include_deletes=False):
|
|
|