Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(165)

Side by Side Diff: tools/skp/webpages_playback.py

Issue 1033223005: webpages_playback.py: Avoid crash when retrying to capture skp (Closed) Base URL: https://skia.googlesource.com/skia.git@webpages-replay-filesystem
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 """Archives or replays webpages and creates SKPs in a Google Storage location. 6 """Archives or replays webpages and creates SKPs in a Google Storage location.
7 7
8 To archive webpages and store SKP files (archives should be rarely updated): 8 To archive webpages and store SKP files (archives should be rarely updated):
9 9
10 cd skia 10 cd skia
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 os.path.join(self._telemetry_binaries_dir, 'record_wpr'), 226 os.path.join(self._telemetry_binaries_dir, 'record_wpr'),
227 '--extra-browser-args=--disable-setuid-sandbox', 227 '--extra-browser-args=--disable-setuid-sandbox',
228 '--browser=exact', 228 '--browser=exact',
229 '--browser-executable=%s' % self._browser_executable, 229 '--browser-executable=%s' % self._browser_executable,
230 '%s_page_set' % page_set_basename, 230 '%s_page_set' % page_set_basename,
231 '--page-set-base-dir=%s' % page_set_dir 231 '--page-set-base-dir=%s' % page_set_dir
232 ) 232 )
233 for _ in range(RETRY_RECORD_WPR_COUNT): 233 for _ in range(RETRY_RECORD_WPR_COUNT):
234 try: 234 try:
235 shell_utils.run(' '.join(record_wpr_cmd), shell=True) 235 shell_utils.run(' '.join(record_wpr_cmd), shell=True)
236
237 # Move over the created archive into the local webpages archive
238 # directory.
239 shutil.move(
240 os.path.join(LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR, wpr_data_file),
241 self._local_record_webpages_archive_dir)
242 shutil.move(
243 os.path.join(LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR,
244 page_set_json_name),
245 self._local_record_webpages_archive_dir)
246
236 # Break out of the retry loop since there were no errors. 247 # Break out of the retry loop since there were no errors.
237 break 248 break
238 except Exception: 249 except Exception:
239 # There was a failure continue with the loop. 250 # There was a failure continue with the loop.
240 traceback.print_exc() 251 traceback.print_exc()
241 else: 252 else:
242 # If we get here then record_wpr did not succeed and thus did not 253 # If we get here then record_wpr did not succeed and thus did not
243 # break out of the loop. 254 # break out of the loop.
244 raise Exception('record_wpr failed for page_set: %s' % page_set) 255 raise Exception('record_wpr failed for page_set: %s' % page_set)
245 256
(...skipping 18 matching lines...) Expand all
264 275
265 for _ in range(RETRY_RUN_MEASUREMENT_COUNT): 276 for _ in range(RETRY_RUN_MEASUREMENT_COUNT):
266 try: 277 try:
267 print '\n\n=======Capturing SKP of %s=======\n\n' % page_set 278 print '\n\n=======Capturing SKP of %s=======\n\n' % page_set
268 shell_utils.run(' '.join(run_benchmark_cmd), shell=True) 279 shell_utils.run(' '.join(run_benchmark_cmd), shell=True)
269 except shell_utils.CommandFailedException: 280 except shell_utils.CommandFailedException:
270 # skpicture_printer sometimes fails with AssertionError but the 281 # skpicture_printer sometimes fails with AssertionError but the
271 # captured SKP is still valid. This is a known issue. 282 # captured SKP is still valid. This is a known issue.
272 pass 283 pass
273 284
274 if self._record:
275 # Move over the created archive into the local webpages archive
276 # directory.
277 shutil.move(
278 os.path.join(LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR, wpr_data_file),
279 self._local_record_webpages_archive_dir)
280 shutil.move(
281 os.path.join(LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR,
282 page_set_json_name),
283 self._local_record_webpages_archive_dir)
284
285 # Rename generated SKP files into more descriptive names. 285 # Rename generated SKP files into more descriptive names.
286 try: 286 try:
287 self._RenameSkpFiles(page_set) 287 self._RenameSkpFiles(page_set)
288 # Break out of the retry loop since there were no errors. 288 # Break out of the retry loop since there were no errors.
289 break 289 break
290 except Exception: 290 except Exception:
291 # There was a failure continue with the loop. 291 # There was a failure continue with the loop.
292 traceback.print_exc() 292 traceback.print_exc()
293 print '\n\n=======Retrying %s=======\n\n' % page_set 293 print '\n\n=======Retrying %s=======\n\n' % page_set
294 time.sleep(10) 294 time.sleep(10)
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 default=None) 511 default=None)
512 option_parser.add_option( 512 option_parser.add_option(
513 '', '--non-interactive', action='store_true', 513 '', '--non-interactive', action='store_true',
514 help='Runs the script without any prompts. If this flag is specified and ' 514 help='Runs the script without any prompts. If this flag is specified and '
515 '--skia_tools is specified then the debugger is not run.', 515 '--skia_tools is specified then the debugger is not run.',
516 default=False) 516 default=False)
517 options, unused_args = option_parser.parse_args() 517 options, unused_args = option_parser.parse_args()
518 518
519 playback = SkPicturePlayback(options) 519 playback = SkPicturePlayback(options)
520 sys.exit(playback.Run()) 520 sys.exit(playback.Run())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698