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

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

Issue 2439213002: Add step to process Render Test results. (Closed)
Patch Set: Rebase Created 3 years, 11 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 383f361cb87359a1f75ff273d54d49f84fc04b47..88d8326e3cbb636dda2d66e698c9313170076dd5 100644
--- a/scripts/slave/recipe_modules/chromium_tests/steps.py
+++ b/scripts/slave/recipe_modules/chromium_tests/steps.py
@@ -603,6 +603,7 @@ def generate_instrumentation_test(api, chromium_tests_api, mastername,
yield AndroidInstrumentationTest(
test_name,
compile_targets=test.get('override_compile_targets'),
+ render_results_dir=test.get('render_results_dir'),
timeout_scale=test.get('timeout_scale'),
result_details=True,
store_tombstones=True,
@@ -1689,27 +1690,33 @@ class AndroidTest(Test):
def run(self, api, suffix):
assert api.chromium.c.TARGET_PLATFORM == 'android'
- json_results_file = api.test_utils.gtest_results(add_json_log=False)
- try:
- self.run_tests(api, suffix, json_results_file)
- finally:
- step_result = api.step.active_result
- self._test_runs[suffix] = {'valid': False}
- if (hasattr(step_result, 'test_utils') and
- hasattr(step_result.test_utils, 'gtest_results')):
- gtest_results = step_result.test_utils.gtest_results
- failures = gtest_results.failures
- self._test_runs[suffix] = {'valid': True, 'failures': failures}
- step_result.presentation.step_text += (
- api.test_utils.format_step_text([['failures:', failures]]))
+ nested_step_name = '%s%s' % (self._name, ' (%s)' % suffix if suffix else '')
+ with api.step.nest(nested_step_name) as nested_step:
+ json_results_file = api.test_utils.gtest_results(add_json_log=False)
+ try:
+ step_result = self.run_tests(api, suffix, json_results_file)
+ except api.step.StepFailure as f:
+ step_result = f.result
+ raise
+ finally:
+ nested_step.presentation.status = step_result.presentation.status
+ self._test_runs[suffix] = {'valid': False}
+ if (hasattr(step_result, 'test_utils') and
+ hasattr(step_result.test_utils, 'gtest_results')):
+ gtest_results = step_result.test_utils.gtest_results
+
+ failures = gtest_results.failures
+ self._test_runs[suffix] = {'valid': True, 'failures': failures}
+ nested_step.presentation.step_text += (
+ api.test_utils.format_step_text([['failures:', failures]]))
- api.test_results.upload(
- api.json.input(gtest_results.raw),
- test_type=self.name,
- chrome_revision=api.bot_update.last_returned_properties.get(
- 'got_revision_cp', 'x@{#0}'),
- test_results_server='test-results.appspot.com')
+ api.test_results.upload(
+ api.json.input(gtest_results.raw),
+ test_type=self.name,
+ chrome_revision=api.bot_update.last_returned_properties.get(
+ 'got_revision_cp', 'x@{#0}'),
+ test_results_server='test-results.appspot.com')
def compile_targets(self, _):
return self._compile_targets
@@ -1737,7 +1744,7 @@ class AndroidJunitTest(AndroidTest):
#override
def run_tests(self, api, suffix, json_results_file):
- api.chromium_android.run_java_unit_test_suite(
+ return api.chromium_android.run_java_unit_test_suite(
self.name, verbose=True, suffix=suffix,
json_results_file=json_results_file,
step_test_data=lambda: api.test_utils.test_api.canned_gtest_output(False))
@@ -1804,7 +1811,8 @@ class AndroidInstrumentationTest(AndroidTest):
test_apk=None, timeout_scale=None, annotation=None,
except_annotation=None, screenshot=False, verbose=True,
tool=None, additional_apks=None, store_tombstones=False,
- result_details=False, args=None, waterfall_mastername=None,
+ result_details=False, render_results_dir=None,
+ args=None, waterfall_mastername=None,
waterfall_buildername=None):
suite_defaults = (
AndroidInstrumentationTest._DEFAULT_SUITES.get(name)
@@ -1834,6 +1842,7 @@ class AndroidInstrumentationTest(AndroidTest):
self._wrapper_script_suite_name = compile_targets[0]
self._store_tombstones = store_tombstones
self._result_details = result_details
+ self._render_results_dir = render_results_dir
self._args = args
@property
@@ -1842,7 +1851,7 @@ class AndroidInstrumentationTest(AndroidTest):
#override
def run_tests(self, api, suffix, json_results_file):
- api.chromium_android.run_instrumentation_suite(
+ return api.chromium_android.run_instrumentation_suite(
self.name,
test_apk=api.chromium_android.apk_path(self._test_apk),
apk_under_test=api.chromium_android.apk_path(self._apk_under_test),
@@ -1857,6 +1866,7 @@ class AndroidInstrumentationTest(AndroidTest):
result_details=self._result_details,
store_tombstones=self._store_tombstones,
wrapper_script_suite_name=self._wrapper_script_suite_name,
+ render_results_dir=self._render_results_dir,
step_test_data=lambda: api.test_utils.test_api.canned_gtest_output(False),
args=self._args)

Powered by Google App Engine
This is Rietveld 408576698