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

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

Issue 2695963003: Use logdog butler subcommand to run tests. (Closed)
Patch Set: fixes Created 3 years, 10 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
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 """
11 11
12 from __future__ import print_function 12 from __future__ import print_function
13 13
14 import argparse 14 import argparse
15 import ast 15 import ast
16 import errno 16 import errno
17 import json 17 import json
18 import logging
18 import os 19 import os
19 import pipes 20 import pipes
20 import pprint 21 import pprint
21 import re 22 import re
22 import shutil 23 import shutil
23 import sys 24 import sys
24 import subprocess 25 import subprocess
25 import tempfile 26 import tempfile
26 import traceback 27 import traceback
27 import urllib2 28 import urllib2
(...skipping 1051 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 executable_suffix = '.exe' if self.platform == 'win32' else '' 1080 executable_suffix = '.exe' if self.platform == 'win32' else ''
1080 1081
1081 cmdline = [] 1082 cmdline = []
1082 extra_files = [] 1083 extra_files = []
1083 1084
1084 if test_type == 'nontest': 1085 if test_type == 'nontest':
1085 self.WriteFailureAndRaise('We should not be isolating %s.' % target, 1086 self.WriteFailureAndRaise('We should not be isolating %s.' % target,
1086 output_path=None) 1087 output_path=None)
1087 1088
1088 if android and test_type != "script": 1089 if android and test_type != "script":
1089 logdog_command = [ 1090 swarming_task_id = os.environ['SWARMING_TASK_ID']
dnj 2017/02/18 07:59:25 So I think this was a bad suggestion on my part. I
BigBossZhiling 2017/02/21 20:24:17 Done.
1090 '--logdog-bin-cmd', './../../bin/logdog_butler', 1091 isolated_outdir = os.environ['ISOLATED_OUTDIR']
1091 '--project', 'chromium', 1092 swarming_bot_file = os.environ['SWARMING_BOT_FILE']
1092 '--service-account-json',
1093 '/creds/service_accounts/service-account-luci-logdog-publisher.json',
1094 '--prefix', 'android/swarming/logcats/${SWARMING_TASK_ID}',
1095 '--source', '${ISOLATED_OUTDIR}/logcats',
1096 '--name', 'unified_logcats',
1097 ]
1098 test_cmdline = [ 1093 test_cmdline = [
1099 self.PathJoin('bin', 'run_%s' % target), 1094 self.PathJoin('bin', 'run_%s' % target),
1100 '--logcat-output-file', '${ISOLATED_OUTDIR}/logcats', 1095 '--logcat-output-file', '%s/logcats' % isolated_outdir,
1101 '--target-devices-file', '${SWARMING_BOT_FILE}', 1096 '--target-devices-file', swarming_bot_file,
1102 '-v' 1097 '-v', '--upload-full-logcat', '%s/logcats' % isolated_outdir]
1103 ] 1098 project = 'chromium'
1104 cmdline = (['./../../build/android/test_wrapper/logdog_wrapper.py'] 1099 output = 'logdog,host=services-dot-luci-logdog.appspot.com'
1105 + logdog_command + test_cmdline) 1100 prefix = 'android/swarming/logcats/%s' % swarming_task_id
1101
1102 # Call test_cmdline through logdog butler subcommand.
1103 cmdline = [
1104 '../../bin/logdog_butler', '-project', project,
1105 '-output', output,
1106 '-prefix', prefix,
1107 'run', '--'] + test_cmdline
1106 elif use_xvfb and test_type == 'windowed_test_launcher': 1108 elif use_xvfb and test_type == 'windowed_test_launcher':
1107 extra_files = [ 1109 extra_files = [
1108 '../../testing/test_env.py', 1110 '../../testing/test_env.py',
1109 '../../testing/xvfb.py', 1111 '../../testing/xvfb.py',
1110 ] 1112 ]
1111 cmdline = [ 1113 cmdline = [
1112 '../../testing/xvfb.py', 1114 '../../testing/xvfb.py',
1113 './' + str(executable) + executable_suffix, 1115 './' + str(executable) + executable_suffix,
1114 '--brave-new-test-launcher', 1116 '--brave-new-test-launcher',
1115 '--test-launcher-bot-mode', 1117 '--test-launcher-bot-mode',
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 # Then check to see if the arg contains any metacharacters other than 1571 # Then check to see if the arg contains any metacharacters other than
1570 # double quotes; if it does, quote everything (including the double 1572 # double quotes; if it does, quote everything (including the double
1571 # quotes) for safety. 1573 # quotes) for safety.
1572 if any(a in UNSAFE_FOR_CMD for a in arg): 1574 if any(a in UNSAFE_FOR_CMD for a in arg):
1573 arg = ''.join('^' + a if a in ALL_META_CHARS else a for a in arg) 1575 arg = ''.join('^' + a if a in ALL_META_CHARS else a for a in arg)
1574 return arg 1576 return arg
1575 1577
1576 1578
1577 if __name__ == '__main__': 1579 if __name__ == '__main__':
1578 sys.exit(main(sys.argv[1:])) 1580 sys.exit(main(sys.argv[1:]))
OLDNEW
« build/android/test_runner.py ('K') | « build/android/test_wrapper/logdog_wrapper.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698