OLD | NEW |
---|---|
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Top-level presubmit script for memory_inspector. | 5 """Top-level presubmit script for memory_inspector. |
6 | 6 |
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for |
8 details on the presubmit API built into gcl. | 8 details on the presubmit API built into gcl. |
9 """ | 9 """ |
10 | 10 |
11 | 11 |
12 def CommonChecks(input_api, output_api): | 12 def _CommonChecks(input_api, output_api): |
13 output = [] | 13 output = [] |
14 blacklist = [r'classification_rules.*'] | 14 blacklist = [r'classification_rules.*'] |
15 output.extend(input_api.canned_checks.RunPylint( | 15 output.extend(input_api.canned_checks.RunPylint( |
16 input_api, output_api, black_list=blacklist, | 16 input_api, output_api, black_list=blacklist, |
17 extra_paths_list=[ | 17 extra_paths_list=[ |
18 input_api.os_path.join(input_api.PresubmitLocalPath(), '..', '..', | 18 input_api.os_path.join(input_api.PresubmitLocalPath(), '..', '..', |
19 'build', 'android') | 19 'build', 'android') |
20 ])) | 20 ])) |
21 output.extend(input_api.canned_checks.RunUnitTests( | 21 output.extend(input_api.canned_checks.RunUnitTests( |
22 input_api, | 22 input_api, |
23 output_api, | 23 output_api, |
24 [input_api.os_path.join(input_api.PresubmitLocalPath(), 'run_tests')])) | 24 [input_api.os_path.join(input_api.PresubmitLocalPath(), 'run_tests')])) |
25 | 25 |
26 if input_api.is_committing: | 26 if input_api.is_committing: |
27 output.extend(input_api.canned_checks.PanProjectChecks(input_api, | 27 output.extend(input_api.canned_checks.PanProjectChecks(input_api, |
28 output_api, | 28 output_api, |
29 owners_check=False)) | 29 owners_check=False)) |
30 return output | 30 return output |
31 | 31 |
32 | 32 |
33 def _CheckPrebuiltsAreUploaded(input_api, output_api): | |
M-A Ruel
2014/09/16 13:00:19
Could you add a short docstring about what it does
Primiano Tucci (use gerrit)
2014/09/16 13:48:02
Done.
| |
34 import sys | |
35 import urllib2 | |
36 old_sys_path = sys.path | |
37 try: | |
38 sys.path = [input_api.PresubmitLocalPath()] + sys.path | |
39 from memory_inspector import constants | |
40 finally: | |
41 sys.path = old_sys_path | |
42 missing_files = [] | |
43 for f in input_api.os_listdir(constants.PREBUILTS_PATH): | |
44 if not f.endswith('.sha1'): | |
45 continue | |
46 prebuilt_sha_path = input_api.os_path.join(constants.PREBUILTS_PATH, f) | |
47 with open(prebuilt_sha_path) as sha_file: | |
48 sha = sha_file.read().strip() | |
49 url = constants.PREBUILTS_BASE_URL + sha | |
50 request = urllib2.Request(url) | |
51 request.get_method = lambda : 'HEAD' | |
52 try: | |
53 urllib2.urlopen(request, timeout=5) | |
54 except Exception as e: | |
55 if isinstance(e, urllib2.HTTPError) and e.code == 404: | |
56 missing_files += [prebuilt_sha_path] | |
57 else: | |
58 return [output_api.PresubmitError('HTTP Error while checking %s' % url, | |
59 long_text=str(e))] | |
60 if missing_files: | |
61 return [output_api.PresubmitError( | |
62 'Some prebuilts have not been uploaded. Perhaps you forgot to ' | |
63 'upload_to_google_storage.py?', missing_files)] | |
64 return [] | |
65 | |
66 | |
33 def CheckChangeOnUpload(input_api, output_api): | 67 def CheckChangeOnUpload(input_api, output_api): |
34 return CommonChecks(input_api, output_api) | 68 results = [] |
69 results.extend(_CommonChecks(input_api, output_api)) | |
70 results.extend(_CheckPrebuiltsAreUploaded(input_api, output_api)) | |
71 return results | |
35 | 72 |
36 | 73 |
37 def CheckChangeOnCommit(input_api, output_api): | 74 def CheckChangeOnCommit(input_api, output_api): |
38 return CommonChecks(input_api, output_api) | 75 return _CommonChecks(input_api, output_api) |
OLD | NEW |