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

Unified Diff: scripts/slave/recipe_modules/chromium_tests/steps.py

Issue 2330133002: Updating the SwarmingIsolatedScriptTest to upload chartjson results to the (Closed)
Patch Set: Fixing presubmit issues Created 4 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
Index: scripts/slave/recipe_modules/chromium_tests/steps.py
diff --git a/scripts/slave/recipe_modules/chromium_tests/steps.py b/scripts/slave/recipe_modules/chromium_tests/steps.py
index 8139e8375cadfbc6ba15acb9ce248250d6aedbbf..0f79e0d774659ec91183b2aa3b54f8c015ae3688 100644
--- a/scripts/slave/recipe_modules/chromium_tests/steps.py
+++ b/scripts/slave/recipe_modules/chromium_tests/steps.py
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import datetime
+import json
import re
import string
@@ -1088,6 +1089,7 @@ class SwarmingIsolatedScriptTest(SwarmingTest):
if not failures and step_result.retcode != 0:
failures = ['%s (entire test suite)' % self.name]
valid = False
+
except (ValueError, KeyError) as e:
step_result.presentation.logs['invalid_results_exc'] = [str(e)]
valid = False
@@ -1096,8 +1098,46 @@ class SwarmingIsolatedScriptTest(SwarmingTest):
step_result.presentation.step_text += api.test_utils.format_step_text([
['failures:', failures]
])
+ # Check for chartjson results and upload to results dashboard if present.
+ self._output_chartjson_results_if_present(api, step_result)
return valid, failures
+ def _output_chartjson_results_if_present(self, api, step_result):
+ results = \
+ getattr(step_result, 'isolated_script_chartjson_results', None) or {}
+ try:
+ if not 'charts' in results:
+ print 'Info: No chart json present'
+ return
+
+ if not results.get('enabled', True):
+ print 'Info: Benchmark disabled, not sending results to dashboard'
+ return
+
+ """Produces a step that uploads results to dashboard"""
+ args = [
+ '--results', json.dumps(results),
+ '--perf-id', api.properties['perf-id'],
+ '--results-url', api.properties['results-url'],
+ '--build-dir', api.chromium.c.build_dir,
+ '--got-revision-cp', api.properties['got_revision_cp'],
+ '--version', api.properties['version'],
+ '--git-revision', api.properties['git_revision'],
+ '--buildername', api.properties['buildername'],
+ '--buildnumber', api.properties['buildnumber'],
+ '--got-webrtc-revision', api.properties['got_webrtc_revision'],
+ '--got-v8-revision', api.properties['got_v8_revision'],
+ ]
+
+ api.python(
+ 'Upload Perf Dashboard Results',
+ api.chromium.package_repo_resource(
+ 'scripts', 'slave', 'upload_perf_dashboard_results.py'),
+ args)
+
+ except (ValueError, KeyError) as e:
+ print 'Error: Unable to upload chartjson results to perf dashboard'
+
def generate_isolated_script(api, chromium_tests_api, mastername, buildername,
test_spec, bot_update_step, enable_swarming=False,
« no previous file with comments | « scripts/slave/recipe_modules/chromium_tests/api.py ('k') | scripts/slave/recipe_modules/test_utils/test_api.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698