OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2010 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 """Snapshot Build Bisect Tool | 6 """Snapshot Build Bisect Tool |
7 | 7 |
8 This script bisects a snapshot archive using binary search. It starts at | 8 This script bisects a snapshot archive using binary search. It starts at |
9 a bad revision (it will try to guess HEAD) and asks for a last known-good | 9 a bad revision (it will try to guess HEAD) and asks for a last known-good |
10 revision. It will then binary search across this revision range by downloading, | 10 revision. It will then binary search across this revision range by downloading, |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 sys.stdout.flush() | 151 sys.stdout.flush() |
152 try: | 152 try: |
153 print 'Fetching ' + download_url | 153 print 'Fetching ' + download_url |
154 urllib.urlretrieve(download_url, BUILD_ZIP_NAME, _Reporthook) | 154 urllib.urlretrieve(download_url, BUILD_ZIP_NAME, _Reporthook) |
155 print | 155 print |
156 except Exception, e: | 156 except Exception, e: |
157 print('Could not retrieve the download. Sorry.') | 157 print('Could not retrieve the download. Sorry.') |
158 sys.exit(-1) | 158 sys.exit(-1) |
159 | 159 |
160 # Unzip the file. | 160 # Unzip the file. |
161 print 'Unziping ...' | 161 print 'Unzipping ...' |
162 UnzipFilenameToDir(BUILD_ZIP_NAME, os.curdir) | 162 UnzipFilenameToDir(BUILD_ZIP_NAME, os.curdir) |
163 | 163 |
164 # Tell the system to open the app. | 164 # Tell the system to open the app. |
165 args = ['--user-data-dir=%s' % profile] + args | 165 args = ['--user-data-dir=%s' % profile] + args |
166 flags = ' '.join(map(pipes.quote, args)) | 166 flags = ' '.join(map(pipes.quote, args)) |
167 exe = os.path.join(os.getcwd(), BUILD_DIR_NAME, BUILD_EXE_NAME) | 167 exe = os.path.join(os.getcwd(), BUILD_DIR_NAME, BUILD_EXE_NAME) |
168 cmd = '%s %s' % (exe, flags) | 168 cmd = '%s %s' % (exe, flags) |
169 print 'Running %s' % cmd | 169 print 'Running %s' % cmd |
170 os.system(cmd) | 170 os.system(cmd) |
171 | 171 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 291 |
292 # We're done. Let the user know the results in an official manner. | 292 # We're done. Let the user know the results in an official manner. |
293 print('You are probably looking for build %d.' % revlist[bad]) | 293 print('You are probably looking for build %d.' % revlist[bad]) |
294 print('CHANGELOG URL:') | 294 print('CHANGELOG URL:') |
295 print(CHANGELOG_URL % (last_known_good_rev, revlist[bad])) | 295 print(CHANGELOG_URL % (last_known_good_rev, revlist[bad])) |
296 print('Built at revision:') | 296 print('Built at revision:') |
297 print(BUILD_VIEWVC_URL % revlist[bad]) | 297 print(BUILD_VIEWVC_URL % revlist[bad]) |
298 | 298 |
299 if __name__ == '__main__': | 299 if __name__ == '__main__': |
300 sys.exit(main()) | 300 sys.exit(main()) |
OLD | NEW |