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

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

Issue 684863002: Updated all page sets to capture new set of webpage archives (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add waits for some pagesets Created 6 years, 1 month 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 | « tools/skp/page_sets/skia_youtubetvvideo_desktop.py ('k') | 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 ../buildbot/slave/skia_slave_scripts 10 cd ../buildbot/slave/skia_slave_scripts
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data') 73 os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data')
74 TMP_SKP_DIR = tempfile.mkdtemp() 74 TMP_SKP_DIR = tempfile.mkdtemp()
75 75
76 # Location of the credentials.json file and the string that represents missing 76 # Location of the credentials.json file and the string that represents missing
77 # passwords. 77 # passwords.
78 CREDENTIALS_FILE_PATH = os.path.join( 78 CREDENTIALS_FILE_PATH = os.path.join(
79 os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data', 79 os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data',
80 'credentials.json' 80 'credentials.json'
81 ) 81 )
82 82
83 # Stdout that signifies that a recording has failed.
84 RECORD_FAILURE_MSG = 'The recording has not been updated for these pages.'
85
86 # Name of the SKP benchmark 83 # Name of the SKP benchmark
87 SKP_BENCHMARK = 'skpicture_printer' 84 SKP_BENCHMARK = 'skpicture_printer'
88 85
89 # The max base name length of Skp files. 86 # The max base name length of Skp files.
90 MAX_SKP_BASE_NAME_LEN = 31 87 MAX_SKP_BASE_NAME_LEN = 31
91 88
92 # Dictionary of device to platform prefixes for SKP files. 89 # Dictionary of device to platform prefixes for SKP files.
93 DEVICE_TO_PLATFORM_PREFIX = { 90 DEVICE_TO_PLATFORM_PREFIX = {
94 'desktop': 'desk', 91 'desktop': 'desk',
95 'galaxynexus': 'mobi', 92 'galaxynexus': 'mobi',
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 'PYTHONPATH=%s:$PYTHONPATH' % page_set_dir, 211 'PYTHONPATH=%s:$PYTHONPATH' % page_set_dir,
215 'DISPLAY=%s' % X11_DISPLAY, 212 'DISPLAY=%s' % X11_DISPLAY,
216 os.path.join(self._telemetry_binaries_dir, 'record_wpr'), 213 os.path.join(self._telemetry_binaries_dir, 'record_wpr'),
217 '--extra-browser-args=--disable-setuid-sandbox', 214 '--extra-browser-args=--disable-setuid-sandbox',
218 '--browser=exact', 215 '--browser=exact',
219 '--browser-executable=%s' % self._browser_executable, 216 '--browser-executable=%s' % self._browser_executable,
220 '%s_page_set' % page_set_basename, 217 '%s_page_set' % page_set_basename,
221 '--page-set-base-dir=%s' % page_set_dir 218 '--page-set-base-dir=%s' % page_set_dir
222 ) 219 )
223 for _ in range(RETRY_RECORD_WPR_COUNT): 220 for _ in range(RETRY_RECORD_WPR_COUNT):
224 output = shell_utils.run(' '.join(record_wpr_cmd), shell=True) 221 try:
225 if RECORD_FAILURE_MSG in output: 222 shell_utils.run(' '.join(record_wpr_cmd), shell=True)
226 print output
227 else:
228 # Break out of the retry loop since there were no errors. 223 # Break out of the retry loop since there were no errors.
229 break 224 break
225 except Exception:
226 # There was a failure continue with the loop.
227 traceback.print_exc()
230 else: 228 else:
231 # If we get here then record_wpr did not succeed and thus did not 229 # If we get here then record_wpr did not succeed and thus did not
232 # break out of the loop. 230 # break out of the loop.
233 raise Exception('record_wpr failed for page_set: %s' % page_set) 231 raise Exception('record_wpr failed for page_set: %s' % page_set)
234 232
235 else: 233 else:
236 if not self._skip_all_gs_access: 234 if not self._skip_all_gs_access:
237 # Get the webpages archive so that it can be replayed. 235 # Get the webpages archive so that it can be replayed.
238 self._DownloadWebpagesArchive(wpr_data_file, page_set_json_name) 236 self._DownloadWebpagesArchive(wpr_data_file, page_set_json_name)
239 237
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 '-r', self._local_skp_dir 294 '-r', self._local_skp_dir
297 ] 295 ]
298 render_pdfs_cmd = [ 296 render_pdfs_cmd = [
299 os.path.join(self._skia_tools, 'render_pdfs'), 297 os.path.join(self._skia_tools, 'render_pdfs'),
300 self._local_skp_dir 298 self._local_skp_dir
301 ] 299 ]
302 300
303 for tools_cmd in (render_pictures_cmd, render_pdfs_cmd): 301 for tools_cmd in (render_pictures_cmd, render_pdfs_cmd):
304 print '\n\n=======Running %s=======' % ' '.join(tools_cmd) 302 print '\n\n=======Running %s=======' % ' '.join(tools_cmd)
305 proc = subprocess.Popen(tools_cmd) 303 proc = subprocess.Popen(tools_cmd)
306 (code, output) = shell_utils.log_process_after_completion(proc, 304 (code, _) = shell_utils.log_process_after_completion(proc, echo=False)
307 echo=False)
308 if code != 0: 305 if code != 0:
309 raise Exception('%s failed!' % ' '.join(tools_cmd)) 306 raise Exception('%s failed!' % ' '.join(tools_cmd))
310 307
311 if not self._non_interactive: 308 if not self._non_interactive:
312 print '\n\n=======Running debugger=======' 309 print '\n\n=======Running debugger======='
313 os.system('%s %s' % (os.path.join(self._skia_tools, 'debugger'), 310 os.system('%s %s' % (os.path.join(self._skia_tools, 'debugger'),
314 os.path.join(self._local_skp_dir, '*'))) 311 os.path.join(self._local_skp_dir, '*')))
315 312
316 print '\n\n' 313 print '\n\n'
317 314
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 default=None) 449 default=None)
453 option_parser.add_option( 450 option_parser.add_option(
454 '', '--non-interactive', action='store_true', 451 '', '--non-interactive', action='store_true',
455 help='Runs the script without any prompts. If this flag is specified and ' 452 help='Runs the script without any prompts. If this flag is specified and '
456 '--skia_tools is specified then the debugger is not run.', 453 '--skia_tools is specified then the debugger is not run.',
457 default=False) 454 default=False)
458 options, unused_args = option_parser.parse_args() 455 options, unused_args = option_parser.parse_args()
459 456
460 playback = SkPicturePlayback(options) 457 playback = SkPicturePlayback(options)
461 sys.exit(playback.Run()) 458 sys.exit(playback.Run())
OLDNEW
« no previous file with comments | « tools/skp/page_sets/skia_youtubetvvideo_desktop.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698