Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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:])) |
| OLD | NEW |