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

Side by Side Diff: scripts/slave/recipe_modules/chromium_tests/steps.py

Issue 2248443002: Revert of Add logcats link in builbot page for android swarming tasks (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | scripts/slave/recipes/chromium.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import datetime 5 import datetime
6 import re 6 import re
7 import string 7 import string
8 8
9 9
10 class Test(object): 10 class Test(object):
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 if test['shard_index'] != 0 or test['total_shards'] != 1: 427 if test['shard_index'] != 0 or test['total_shards'] != 1:
428 args.extend(['--test-launcher-shard-index=%d' % test['shard_index'], 428 args.extend(['--test-launcher-shard-index=%d' % test['shard_index'],
429 '--test-launcher-total-shards=%d' % test['total_shards']]) 429 '--test-launcher-total-shards=%d' % test['total_shards']])
430 use_swarming = False 430 use_swarming = False
431 swarming_shards = 1 431 swarming_shards = 1
432 swarming_dimension_sets = None 432 swarming_dimension_sets = None
433 swarming_priority = None 433 swarming_priority = None
434 swarming_expiration = None 434 swarming_expiration = None
435 swarming_hard_timeout = None 435 swarming_hard_timeout = None
436 cipd_packages = None 436 cipd_packages = None
437 output_links = None
438 if enable_swarming: 437 if enable_swarming:
439 swarming_spec = test.get('swarming', {}) 438 swarming_spec = test.get('swarming', {})
440 if swarming_spec.get('can_use_on_swarming_builders'): 439 if swarming_spec.get('can_use_on_swarming_builders'):
441 use_swarming = True 440 use_swarming = True
442 swarming_shards = swarming_spec.get('shards', 1) 441 swarming_shards = swarming_spec.get('shards', 1)
443 swarming_dimension_sets = swarming_spec.get('dimension_sets') 442 swarming_dimension_sets = swarming_spec.get('dimension_sets')
444 swarming_priority = swarming_spec.get('priority_adjustment') 443 swarming_priority = swarming_spec.get('priority_adjustment')
445 swarming_expiration = swarming_spec.get('expiration') 444 swarming_expiration = swarming_spec.get('expiration')
446 swarming_hard_timeout = swarming_spec.get('hard_timeout') 445 swarming_hard_timeout = swarming_spec.get('hard_timeout')
447 packages = swarming_spec.get('cipd_packages') 446 packages = swarming_spec.get('cipd_packages')
448 output_links = swarming_spec.get('output_links')
449 if packages: 447 if packages:
450 cipd_packages = [(p['location'], 448 cipd_packages = [(p['location'],
451 p['cipd_package'], 449 p['cipd_package'],
452 p['revision']) 450 p['revision'])
453 for p in packages] 451 for p in packages]
454 override_compile_targets = test.get('override_compile_targets', None) 452 override_compile_targets = test.get('override_compile_targets', None)
455 override_isolate_target = test.get('override_isolate_target', None) 453 override_isolate_target = test.get('override_isolate_target', None)
456 target_name = str(test['test']) 454 target_name = str(test['test'])
457 name = str(test.get('name', target_name)) 455 name = str(test.get('name', target_name))
458 swarming_dimensions = swarming_dimensions or {} 456 swarming_dimensions = swarming_dimensions or {}
459 use_xvfb = test.get('use_xvfb', True) 457 use_xvfb = test.get('use_xvfb', True)
460 if use_swarming and swarming_dimension_sets: 458 if use_swarming and swarming_dimension_sets:
461 for dimensions in swarming_dimension_sets: 459 for dimensions in swarming_dimension_sets:
462 # Yield potentially multiple invocations of the same test, on 460 # Yield potentially multiple invocations of the same test, on
463 # different machine configurations. 461 # different machine configurations.
464 new_dimensions = dict(swarming_dimensions) 462 new_dimensions = dict(swarming_dimensions)
465 new_dimensions.update(dimensions) 463 new_dimensions.update(dimensions)
466 yield GTestTest(name, args=args, target_name=target_name, 464 yield GTestTest(name, args=args, target_name=target_name,
467 flakiness_dash=True, 465 flakiness_dash=True,
468 enable_swarming=True, 466 enable_swarming=True,
469 swarming_shards=swarming_shards, 467 swarming_shards=swarming_shards,
470 swarming_dimensions=new_dimensions, 468 swarming_dimensions=new_dimensions,
471 swarming_priority=swarming_priority, 469 swarming_priority=swarming_priority,
472 swarming_expiration=swarming_expiration, 470 swarming_expiration=swarming_expiration,
473 swarming_hard_timeout=swarming_hard_timeout, 471 swarming_hard_timeout=swarming_hard_timeout,
474 override_compile_targets=override_compile_targets, 472 override_compile_targets=override_compile_targets,
475 override_isolate_target=override_isolate_target, 473 override_isolate_target=override_isolate_target,
476 use_xvfb=use_xvfb, cipd_packages=cipd_packages, 474 use_xvfb=use_xvfb, cipd_packages=cipd_packages)
477 output_links=output_links)
478 else: 475 else:
479 yield GTestTest(name, args=args, target_name=target_name, 476 yield GTestTest(name, args=args, target_name=target_name,
480 flakiness_dash=True, 477 flakiness_dash=True,
481 enable_swarming=use_swarming, 478 enable_swarming=use_swarming,
482 swarming_dimensions=swarming_dimensions, 479 swarming_dimensions=swarming_dimensions,
483 swarming_shards=swarming_shards, 480 swarming_shards=swarming_shards,
484 swarming_priority=swarming_priority, 481 swarming_priority=swarming_priority,
485 swarming_expiration=swarming_expiration, 482 swarming_expiration=swarming_expiration,
486 swarming_hard_timeout=swarming_hard_timeout, 483 swarming_hard_timeout=swarming_hard_timeout,
487 override_compile_targets=override_compile_targets, 484 override_compile_targets=override_compile_targets,
488 override_isolate_target=override_isolate_target, 485 override_isolate_target=override_isolate_target,
489 use_xvfb=use_xvfb, cipd_packages=cipd_packages, 486 use_xvfb=use_xvfb, cipd_packages=cipd_packages)
490 output_links=output_links)
491 487
492 488
493 def generate_instrumentation_test(api, chromium_tests_api, mastername, 489 def generate_instrumentation_test(api, chromium_tests_api, mastername,
494 buildername, test_spec, bot_update_step, 490 buildername, test_spec, bot_update_step,
495 enable_swarming=False, 491 enable_swarming=False,
496 swarming_dimensions=None, 492 swarming_dimensions=None,
497 scripts_compile_targets=None): 493 scripts_compile_targets=None):
498 for test in test_spec.get(buildername, {}).get('instrumentation_tests', []): 494 for test in test_spec.get(buildername, {}).get('instrumentation_tests', []):
499 test_name = str(test.get('test')) 495 test_name = str(test.get('test'))
500 use_swarming = False 496 use_swarming = False
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 @property 822 @property
827 def uses_swarming(self): 823 def uses_swarming(self):
828 return True 824 return True
829 825
830 826
831 class SwarmingGTestTest(SwarmingTest): 827 class SwarmingGTestTest(SwarmingTest):
832 def __init__(self, name, args=None, target_name=None, shards=1, 828 def __init__(self, name, args=None, target_name=None, shards=1,
833 dimensions=None, tags=None, extra_suffix=None, priority=None, 829 dimensions=None, tags=None, extra_suffix=None, priority=None,
834 expiration=None, hard_timeout=None, upload_test_results=True, 830 expiration=None, hard_timeout=None, upload_test_results=True,
835 override_compile_targets=None, override_isolate_target=None, 831 override_compile_targets=None, override_isolate_target=None,
836 cipd_packages=None, output_links=None): 832 cipd_packages=None):
837 super(SwarmingGTestTest, self).__init__(name, dimensions, tags, target_name, 833 super(SwarmingGTestTest, self).__init__(name, dimensions, tags, target_name,
838 extra_suffix, priority, expiration, 834 extra_suffix, priority, expiration,
839 hard_timeout) 835 hard_timeout)
840 self._args = args or [] 836 self._args = args or []
841 self._shards = shards 837 self._shards = shards
842 self._upload_test_results = upload_test_results 838 self._upload_test_results = upload_test_results
843 self._override_compile_targets = override_compile_targets 839 self._override_compile_targets = override_compile_targets
844 self._override_isolate_target = override_isolate_target 840 self._override_isolate_target = override_isolate_target
845 self._cipd_packages = cipd_packages 841 self._cipd_packages = cipd_packages
846 self._output_links = output_links
847 842
848 def compile_targets(self, api): 843 def compile_targets(self, api):
849 # <X>_run target depends on <X>, and then isolates it invoking isolate.py. 844 # <X>_run target depends on <X>, and then isolates it invoking isolate.py.
850 # It is a convention, not a hard coded rule. 845 # It is a convention, not a hard coded rule.
851 # Also include name without the _run suffix to help recipes correctly 846 # Also include name without the _run suffix to help recipes correctly
852 # interpret results returned by "analyze". 847 # interpret results returned by "analyze".
853 if self._override_compile_targets: 848 if self._override_compile_targets:
854 return self._override_compile_targets 849 return self._override_compile_targets
855 850
856 if api.chromium.c.TARGET_PLATFORM == 'android': 851 if api.chromium.c.TARGET_PLATFORM == 'android':
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
903 898
904 return True, gtest_results.failures 899 return True, gtest_results.failures
905 900
906 def post_run(self, api, suffix, test_filter=None): 901 def post_run(self, api, suffix, test_filter=None):
907 """Waits for launched test to finish and collects the results.""" 902 """Waits for launched test to finish and collects the results."""
908 try: 903 try:
909 super(SwarmingGTestTest, self).post_run( 904 super(SwarmingGTestTest, self).post_run(
910 api, suffix,test_filter=test_filter) 905 api, suffix,test_filter=test_filter)
911 finally: 906 finally:
912 step_result = api.step.active_result 907 step_result = api.step.active_result
913
914 # Populate additional swarming links on buildbot page.
915 if self._output_links:
916 for task in self._tasks.values():
917 for test in task.trigger_output['tasks'].values():
918 # Replace task_id and shard_index placeholders
919 task_id = test.get('task_id')
920 shard_index = str(test.get('shard_index'))
921 for output in self._output_links:
922 name = output['name']
923 name = (name.replace('${SHARD_INDEX}', shard_index)).replace(
924 '${TASK_ID}', task_id)
925 link = output['link']
926 # Rejoin web links that are broken into a list in the JSON file.
927 link = ''.join(link)
928 link = (link.replace('${SHARD_INDEX}', shard_index)).replace(
929 '${TASK_ID}', task_id)
930 step_result.presentation.links[name] = link
931
932 # Only upload test results if we have gtest results. 908 # Only upload test results if we have gtest results.
933 if (self._upload_test_results and 909 if (self._upload_test_results and
934 hasattr(step_result, 'test_utils') and 910 hasattr(step_result, 'test_utils') and
935 hasattr(step_result.test_utils, 'gtest_results')): 911 hasattr(step_result.test_utils, 'gtest_results')):
936 gtest_results = getattr(step_result.test_utils, 'gtest_results', None) 912 gtest_results = getattr(step_result.test_utils, 'gtest_results', None)
937 if gtest_results and gtest_results.raw: 913 if gtest_results and gtest_results.raw:
938 parsed_gtest_data = gtest_results.raw 914 parsed_gtest_data = gtest_results.raw
939 chrome_revision_cp = api.bot_update.last_returned_properties.get( 915 chrome_revision_cp = api.bot_update.last_returned_properties.get(
940 'got_revision_cp', 'x@{#0}') 916 'got_revision_cp', 'x@{#0}')
941 chrome_revision = str(api.commit_position.parse_revision( 917 chrome_revision = str(api.commit_position.parse_revision(
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 yield LocalIsolatedScriptTest( 1141 yield LocalIsolatedScriptTest(
1166 name=name, args=args, target_name=target_name, 1142 name=name, args=args, target_name=target_name,
1167 override_compile_targets=override_compile_targets) 1143 override_compile_targets=override_compile_targets)
1168 1144
1169 1145
1170 class GTestTest(Test): 1146 class GTestTest(Test):
1171 def __init__(self, name, args=None, target_name=None, enable_swarming=False, 1147 def __init__(self, name, args=None, target_name=None, enable_swarming=False,
1172 swarming_shards=1, swarming_dimensions=None, swarming_tags=None, 1148 swarming_shards=1, swarming_dimensions=None, swarming_tags=None,
1173 swarming_extra_suffix=None, swarming_priority=None, 1149 swarming_extra_suffix=None, swarming_priority=None,
1174 swarming_expiration=None, swarming_hard_timeout=None, 1150 swarming_expiration=None, swarming_hard_timeout=None,
1175 cipd_packages=None, output_links=None, **runtest_kwargs): 1151 cipd_packages=None, **runtest_kwargs):
1176 super(GTestTest, self).__init__() 1152 super(GTestTest, self).__init__()
1177 if enable_swarming: 1153 if enable_swarming:
1178 self._test = SwarmingGTestTest( 1154 self._test = SwarmingGTestTest(
1179 name, args, target_name, swarming_shards, swarming_dimensions, 1155 name, args, target_name, swarming_shards, swarming_dimensions,
1180 swarming_tags, swarming_extra_suffix, swarming_priority, 1156 swarming_tags, swarming_extra_suffix, swarming_priority,
1181 swarming_expiration, swarming_hard_timeout, 1157 swarming_expiration, swarming_hard_timeout,
1182 cipd_packages=cipd_packages, output_links=output_links, 1158 cipd_packages=cipd_packages,
1183 override_compile_targets=runtest_kwargs.get( 1159 override_compile_targets=runtest_kwargs.get(
1184 'override_compile_targets'), 1160 'override_compile_targets'),
1185 override_isolate_target=runtest_kwargs.get( 1161 override_isolate_target=runtest_kwargs.get(
1186 'override_isolate_target')) 1162 'override_isolate_target'))
1187 else: 1163 else:
1188 self._test = LocalGTestTest(name, args, target_name, **runtest_kwargs) 1164 self._test = LocalGTestTest(name, args, target_name, **runtest_kwargs)
1189 1165
1190 self.enable_swarming = enable_swarming 1166 self.enable_swarming = enable_swarming
1191 1167
1192 @property 1168 @property
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
1761 args=args) 1737 args=args)
1762 api.gsutil.upload( 1738 api.gsutil.upload(
1763 temp_output_dir.join( 1739 temp_output_dir.join(
1764 '%s-android-chrome.json' % timestamp_string), 1740 '%s-android-chrome.json' % timestamp_string),
1765 'chromium-annotated-tests', 'android') 1741 'chromium-annotated-tests', 'android')
1766 1742
1767 GOMA_TESTS = [ 1743 GOMA_TESTS = [
1768 GTestTest('base_unittests'), 1744 GTestTest('base_unittests'),
1769 GTestTest('content_unittests'), 1745 GTestTest('content_unittests'),
1770 ] 1746 ]
OLDNEW
« no previous file with comments | « no previous file | scripts/slave/recipes/chromium.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698