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

Side by Side Diff: tools/mb/mb.py

Issue 2838473002: Rework tab_capture_end2end_tests' test definition. (Closed)
Patch Set: fix typo Created 3 years, 8 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 | « testing/buildbot/gn_isolate_map.pyl ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """MB - the Meta-Build wrapper around GYP and GN 6 """MB - the Meta-Build wrapper around GYP and GN
7 7
8 MB is a wrapper script for GYP and GN that can be used to generate build files 8 MB is a wrapper script for GYP and GN that can be used to generate build files
9 for sets of canned configurations and analyze them. 9 for sets of canned configurations and analyze them.
10 """ 10 """
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 android = 'target_os="android"' in vals['gn_args'] 846 android = 'target_os="android"' in vals['gn_args']
847 for target in swarming_targets: 847 for target in swarming_targets:
848 if android: 848 if android:
849 # Android targets may be either android_apk or executable. The former 849 # Android targets may be either android_apk or executable. The former
850 # will result in runtime_deps associated with the stamp file, while the 850 # will result in runtime_deps associated with the stamp file, while the
851 # latter will result in runtime_deps associated with the executable. 851 # latter will result in runtime_deps associated with the executable.
852 label = isolate_map[target]['label'] 852 label = isolate_map[target]['label']
853 runtime_deps_targets = [ 853 runtime_deps_targets = [
854 target + '.runtime_deps', 854 target + '.runtime_deps',
855 'obj/%s.stamp.runtime_deps' % label.replace(':', '/')] 855 'obj/%s.stamp.runtime_deps' % label.replace(':', '/')]
856 elif isolate_map[target]['type'] == 'gpu_browser_test':
857 if self.platform == 'win32':
858 runtime_deps_targets = ['browser_tests.exe.runtime_deps']
859 else:
860 runtime_deps_targets = ['browser_tests.runtime_deps']
861 elif (isolate_map[target]['type'] == 'script' or 856 elif (isolate_map[target]['type'] == 'script' or
862 isolate_map[target].get('label_type') == 'group'): 857 isolate_map[target].get('label_type') == 'group'):
863 # For script targets, the build target is usually a group, 858 # For script targets, the build target is usually a group,
864 # for which gn generates the runtime_deps next to the stamp file 859 # for which gn generates the runtime_deps next to the stamp file
865 # for the label, which lives under the obj/ directory, but it may 860 # for the label, which lives under the obj/ directory, but it may
866 # also be an executable. 861 # also be an executable.
867 label = isolate_map[target]['label'] 862 label = isolate_map[target]['label']
868 runtime_deps_targets = [ 863 runtime_deps_targets = [
869 'obj/%s.stamp.runtime_deps' % label.replace(':', '/')] 864 'obj/%s.stamp.runtime_deps' % label.replace(':', '/')]
870 if self.platform == 'win32': 865 if self.platform == 'win32':
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 ] 1113 ]
1119 cmdline = [ 1114 cmdline = [
1120 '../../testing/test_env.py', 1115 '../../testing/test_env.py',
1121 './' + str(executable) + executable_suffix, 1116 './' + str(executable) + executable_suffix,
1122 '--brave-new-test-launcher', 1117 '--brave-new-test-launcher',
1123 '--test-launcher-bot-mode', 1118 '--test-launcher-bot-mode',
1124 '--asan=%d' % asan, 1119 '--asan=%d' % asan,
1125 '--msan=%d' % msan, 1120 '--msan=%d' % msan,
1126 '--tsan=%d' % tsan, 1121 '--tsan=%d' % tsan,
1127 ] 1122 ]
1128 elif test_type == 'gpu_browser_test':
1129 extra_files = [
1130 '../../testing/test_env.py'
1131 ]
1132 gtest_filter = isolate_map[target]['gtest_filter']
1133 cmdline = [
1134 '../../testing/test_env.py',
1135 './browser_tests' + executable_suffix,
1136 '--test-launcher-bot-mode',
1137 '--enable-gpu',
1138 '--test-launcher-jobs=1',
1139 '--gtest_filter=%s' % gtest_filter,
1140 ]
1141 elif test_type == 'script': 1123 elif test_type == 'script':
1142 extra_files = [ 1124 extra_files = [
1143 '../../testing/test_env.py' 1125 '../../testing/test_env.py'
1144 ] 1126 ]
1145 cmdline = [ 1127 cmdline = [
1146 '../../testing/test_env.py', 1128 '../../testing/test_env.py',
1147 '../../' + self.ToSrcRelPath(isolate_map[target]['script']) 1129 '../../' + self.ToSrcRelPath(isolate_map[target]['script'])
1148 ] 1130 ]
1149 elif test_type in ('raw'): 1131 elif test_type in ('raw'):
1150 extra_files = [] 1132 extra_files = []
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 if not inp['files']: 1261 if not inp['files']:
1280 self.Print('Warning: No files modified in patch, bailing out early.') 1262 self.Print('Warning: No files modified in patch, bailing out early.')
1281 self.WriteJSON({ 1263 self.WriteJSON({
1282 'status': 'No dependency', 1264 'status': 'No dependency',
1283 'compile_targets': [], 1265 'compile_targets': [],
1284 'test_targets': [], 1266 'test_targets': [],
1285 }, output_path) 1267 }, output_path)
1286 return 0 1268 return 0
1287 1269
1288 gn_inp = {} 1270 gn_inp = {}
1289 gn_inp['files'] = ['//' + f for f in inp['files'] if not f.startswith('//')] 1271 gn_inp['files'] = sorted(['//' + f for f in inp['files']
1272 if not f.startswith('//')])
1290 1273
1291 isolate_map = self.ReadIsolateMap() 1274 isolate_map = self.ReadIsolateMap()
1292 err, gn_inp['additional_compile_targets'] = self.MapTargetsToLabels( 1275 err, gn_inp['additional_compile_targets'] = self.MapTargetsToLabels(
1293 isolate_map, inp['additional_compile_targets']) 1276 isolate_map, inp['additional_compile_targets'])
1277 gn_inp['additional_compile_targets'].sort()
1294 if err: 1278 if err:
1295 raise MBErr(err) 1279 raise MBErr(err)
1296 1280
1297 err, gn_inp['test_targets'] = self.MapTargetsToLabels( 1281 err, gn_inp['test_targets'] = self.MapTargetsToLabels(
1298 isolate_map, inp['test_targets']) 1282 isolate_map, inp['test_targets'])
1283 gn_inp['test_targets'].sort()
1299 if err: 1284 if err:
1300 raise MBErr(err) 1285 raise MBErr(err)
1301 labels_to_targets = {} 1286 labels_to_targets = {}
1302 for i, label in enumerate(gn_inp['test_targets']): 1287 for i, label in enumerate(gn_inp['test_targets']):
1303 labels_to_targets[label] = inp['test_targets'][i] 1288 labels_to_targets[label] = inp['test_targets'][i]
1304 1289
1305 try: 1290 try:
1306 self.WriteJSON(gn_inp, gn_input_path) 1291 self.WriteJSON(gn_inp, gn_input_path)
1307 cmd = self.GNCmd('analyze', build_path, gn_input_path, gn_output_path) 1292 cmd = self.GNCmd('analyze', build_path, gn_input_path, gn_output_path)
1308 ret, _, _ = self.Run(cmd, force_verbose=True) 1293 ret, _, _ = self.Run(cmd, force_verbose=True)
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1564 # Then check to see if the arg contains any metacharacters other than 1549 # Then check to see if the arg contains any metacharacters other than
1565 # double quotes; if it does, quote everything (including the double 1550 # double quotes; if it does, quote everything (including the double
1566 # quotes) for safety. 1551 # quotes) for safety.
1567 if any(a in UNSAFE_FOR_CMD for a in arg): 1552 if any(a in UNSAFE_FOR_CMD for a in arg):
1568 arg = ''.join('^' + a if a in ALL_META_CHARS else a for a in arg) 1553 arg = ''.join('^' + a if a in ALL_META_CHARS else a for a in arg)
1569 return arg 1554 return arg
1570 1555
1571 1556
1572 if __name__ == '__main__': 1557 if __name__ == '__main__':
1573 sys.exit(main(sys.argv[1:])) 1558 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « testing/buildbot/gn_isolate_map.pyl ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698