OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Top-level presubmit script for Chromium. | 6 """Top-level presubmit script for Chromium. |
7 | 7 |
8 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 8 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
9 for details on the presubmit API built into gcl. | 9 for details on the presubmit API built into gcl. |
10 """ | 10 """ |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 if not input_api.change.issue or not input_api.change.patchset: | 79 if not input_api.change.issue or not input_api.change.patchset: |
80 return outputs | 80 return outputs |
81 url = "http://codereview.chromium.org/%d/get_build_results/%d" % ( | 81 url = "http://codereview.chromium.org/%d/get_build_results/%d" % ( |
82 input_api.change.issue, input_api.change.patchset) | 82 input_api.change.issue, input_api.change.patchset) |
83 PLATFORMS = ('win', 'linux', 'mac') | 83 PLATFORMS = ('win', 'linux', 'mac') |
84 try: | 84 try: |
85 connection = input_api.urllib2.urlopen(url) | 85 connection = input_api.urllib2.urlopen(url) |
86 # platform|status|url | 86 # platform|status|url |
87 values = [item.split('|', 2) for item in connection.read().splitlines()] | 87 values = [item.split('|', 2) for item in connection.read().splitlines()] |
88 connection.close() | 88 connection.close() |
| 89 if not values: |
| 90 # It returned an empty list. Probably a private review. |
| 91 return outputs |
89 # Reformat as an dict of platform: [status, url] | 92 # Reformat as an dict of platform: [status, url] |
90 values = dict([[v[0], [v[1], v[2]]] for v in values]) | 93 values = dict([[v[0], [v[1], v[2]]] for v in values]) |
91 for platform in PLATFORMS: | 94 for platform in PLATFORMS: |
92 values.setdefault(platform, ['not started', '']) | 95 values.setdefault(platform, ['not started', '']) |
93 message = None | 96 message = None |
94 non_success = [k.upper() for k,v in values.iteritems() if v[0] != 'success'] | 97 non_success = [k.upper() for k,v in values.iteritems() if v[0] != 'success'] |
95 if 'failure' in [v[0] for v in values.itervalues()]: | 98 if 'failure' in [v[0] for v in values.itervalues()]: |
96 message = 'Try job failures on %s!\n' % ', '.join(non_success) | 99 message = 'Try job failures on %s!\n' % ', '.join(non_success) |
97 elif non_success: | 100 elif non_success: |
98 message = ('Unfinished (or not even started) try jobs on ' | 101 message = ('Unfinished (or not even started) try jobs on ' |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 connection = input_api.urllib2.urlopen(url_text) | 136 connection = input_api.urllib2.urlopen(url_text) |
134 long_text = connection.read().strip() | 137 long_text = connection.read().strip() |
135 connection.close() | 138 connection.close() |
136 except IOError: | 139 except IOError: |
137 pass | 140 pass |
138 return [output_api.PresubmitError("The tree is closed.", | 141 return [output_api.PresubmitError("The tree is closed.", |
139 long_text=long_text)] | 142 long_text=long_text)] |
140 except IOError: | 143 except IOError: |
141 pass | 144 pass |
142 return [] | 145 return [] |
OLD | NEW |