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

Unified Diff: tools/skp/webpages_playback.py

Issue 671513009: Update webpages_playback script and all page_sets to use new skpicture_printer benchmark (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/skp/page_sets/skia_youtubetvvideo_desktop.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/skp/webpages_playback.py
diff --git a/tools/skp/webpages_playback.py b/tools/skp/webpages_playback.py
index 4dfe6fca9a6b7cf16bd77847c96731491942706f..394e14ea4d5ecb8449fc170e6d69a506f9857447 100644
--- a/tools/skp/webpages_playback.py
+++ b/tools/skp/webpages_playback.py
@@ -73,6 +73,13 @@ LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR = os.path.join(
os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data')
TMP_SKP_DIR = tempfile.mkdtemp()
+# Location of the credentials.json file and the string that represents missing
+# passwords.
+CREDENTIALS_FILE_PATH = os.path.join(
+ os.path.abspath(os.path.dirname(__file__)), 'page_sets', 'data',
+ 'credentials.json'
+)
+
# Stdout that signifies that a recording has failed.
RECORD_FAILURE_MSG = 'The recording has not been updated for these pages.'
@@ -94,6 +101,9 @@ RETRY_RECORD_WPR_COUNT = 5
# How many times the run_benchmark binary should be retried.
RETRY_RUN_MEASUREMENT_COUNT = 5
+# Location of the credentials.json file in Google Storage.
+CREDENTIALS_GS_PATH = '/playback/credentials/credentials.json'
+
X11_DISPLAY = os.getenv('DISPLAY', ':0')
GS_PREDEFINED_ACL = gs_utils.GSUtils.PredefinedACL.PRIVATE
@@ -154,6 +164,26 @@ class SkPicturePlayback(object):
def Run(self):
"""Run the SkPicturePlayback BuildStep."""
+ # Download the credentials file if it was not previously downloaded.
+ if self._skip_all_gs_access:
+ print """\n\nPlease create a %s file that contains:
+ {
+ "google": {
+ "username": "google_testing_account_username",
+ "password": "google_testing_account_password"
+ },
+ "facebook": {
+ "username": "facebook_testing_account_username",
+ "password": "facebook_testing_account_password"
+ }
+ }\n\n""" % CREDENTIALS_FILE_PATH
+ raw_input("Please press a key when you are ready to proceed...")
+ elif not os.path.isfile(CREDENTIALS_FILE_PATH):
+ # Download the credentials.json file from Google Storage.
+ gs_bucket = self._dest_gsbase.lstrip(gs_utils.GS_PREFIX)
+ gs_utils.GSUtils().download_file(gs_bucket, CREDENTIALS_GS_PATH,
+ CREDENTIALS_FILE_PATH)
+
# Delete any left over data files in the data directory.
for archive_file in glob.glob(
os.path.join(LOCAL_REPLAY_WEBPAGES_ARCHIVE_DIR, 'skia_*')):
@@ -204,7 +234,9 @@ class SkPicturePlayback(object):
self._DownloadWebpagesArchive(wpr_data_file, page_set_basename)
page_set_name = os.path.basename(page_set).split('.')[0]
+ page_set_dir = os.path.dirname(page_set)
run_benchmark_cmd = (
+ 'PYTHONPATH=%s:$PYTHONPATH' % page_set_dir,
'DISPLAY=%s' % X11_DISPLAY,
'timeout', '300',
os.path.join(self._telemetry_binaries_dir, 'run_benchmark'),
@@ -212,30 +244,11 @@ class SkPicturePlayback(object):
'--browser=exact',
'--browser-executable=%s' % self._browser_executable,
SKP_BENCHMARK,
- page_set_name,
- '-o',
- '/tmp/test.skp',
- '--skp-outdir=%s' % TMP_SKP_DIR
+ '--page-set-name=%s' % page_set_name,
+ '--page-set-base-dir=%s' % page_set_dir,
+ '--skp-outdir=%s' % TMP_SKP_DIR,
+ '--also-run-disabled-tests'
)
- page_set_dst = os.path.join(self._telemetry_binaries_dir, 'page_sets',
- os.path.basename(page_set))
- wpr_dst = os.path.join(self._telemetry_binaries_dir, 'page_sets', 'data',
- wpr_data_file)
- json_dst = os.path.join(self._telemetry_binaries_dir, 'page_sets', 'data',
- page_set_basename)
- copied_page_set = False
- if not os.path.exists(page_set_dst):
- print 'Copying %s to %s' % (page_set, page_set_dst)
- shutil.copyfile(page_set, page_set_dst)
- wpr_src = os.path.join(os.path.dirname(page_set), 'data',
- wpr_data_file)
- print 'Copying %s to %s' % (wpr_src, wpr_dst)
- shutil.copyfile(wpr_src, wpr_dst)
- json_src = os.path.join(os.path.dirname(page_set), 'data',
- page_set_basename)
- print 'Copying %s to %s' % (json_src, json_dst)
- shutil.copyfile(json_src, json_dst)
- copied_page_set = True
for _ in range(RETRY_RUN_MEASUREMENT_COUNT):
try:
@@ -268,19 +281,10 @@ class SkPicturePlayback(object):
print '\n\n=======Retrying %s=======\n\n' % page_set
time.sleep(10)
else:
- if copied_page_set:
- os.remove(page_set_dst)
- os.remove(wpr_dst)
- os.remove(json_dst)
# If we get here then run_benchmark did not succeed and thus did not
# break out of the loop.
raise Exception('run_benchmark failed for page_set: %s' % page_set)
- if copied_page_set:
- os.remove(page_set_dst)
- os.remove(wpr_dst)
- os.remove(json_dst)
-
print '\n\n=======Capturing SKP files took %s seconds=======\n\n' % (
time.time() - start_time)
« 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