Index: slave/skia_slave_scripts/upload_skimage_results.py |
diff --git a/slave/skia_slave_scripts/upload_skimage_results.py b/slave/skia_slave_scripts/upload_skimage_results.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9cd35a2571a84bde37263cbc514e784a701479dd |
--- /dev/null |
+++ b/slave/skia_slave_scripts/upload_skimage_results.py |
@@ -0,0 +1,59 @@ |
+#!/usr/bin/env python |
+# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""Upload results from running skimage.""" |
+ |
+import posixpath |
+import sys |
+ |
+from get_subdir import GetSubDirFromBuilderName |
+from utils import gs_utils |
+from utils import sync_bucket_subdir |
+from build_step import PLAYBACK_CANNED_ACL |
+from build_step import BuildStep |
+ |
+import build_step |
+ |
+SKP_TIMEOUT_MULTIPLIER = 8 |
+ |
+class UploadSKImageResults(BuildStep): |
+ |
+ def __init__( |
+ self, |
+ timeout=build_step.DEFAULT_TIMEOUT * SKP_TIMEOUT_MULTIPLIER, |
+ no_output_timeout=( |
+ build_step.DEFAULT_NO_OUTPUT_TIMEOUT * SKP_TIMEOUT_MULTIPLIER), |
+ **kwargs): |
+ """Constructs an UploadSKImageResults BuildStep instance. |
+ |
+ timeout: maximum time allowed for this BuildStep. The default value here is |
+ increased because there could be a lot of images |
+ to be copied over to Google Storage. |
+ no_output_timeout: maximum time allowed for this BuildStep to run without |
+ any output. |
+ """ |
+ build_step.BuildStep.__init__(self, timeout=timeout, |
+ no_output_timeout=no_output_timeout, |
+ **kwargs) |
+ |
+ self._dest_gsbase = (self._args.get('dest_gsbase') or |
+ sync_bucket_subdir.DEFAULT_PERFDATA_GS_BASE) |
+ |
+ def _Run(self): |
+ if self._do_upload_results: |
+ # Copy actual images and expectations to Google Storage. |
+ print '\n\n========Uploading skimage results to Google Storage=======\n\n' |
+ subdir = GetSubDirFromBuilderName(self._builder_name) |
+ relative_dir = posixpath.join('skimage', 'output', subdir) |
+ gs_utils.UploadDirectoryContentsIfChanged( |
borenet
2013/06/25 18:19:12
Note that this mechanism will change very soon, on
scroggo
2013/06/25 19:28:56
Noted. I'll keep watch on Elliot's progress.
|
+ gs_base=self._dest_gsbase, |
+ # Figure out the relative dir |
+ gs_relative_dir=relative_dir, |
+ gs_acl=PLAYBACK_CANNED_ACL, |
+ force_upload=True, |
+ local_dir=self._skimage_out_dir) |
+ |
+if '__main__' == __name__: |
+ sys.exit(BuildStep.RunBuildStep(UploadSKImageResults)) |