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

Side by Side Diff: build/android/test_runner.py

Issue 1390613002: Revert of [Android] Add a configurable environment for devil/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 # 2 #
3 # Copyright 2013 The Chromium Authors. All rights reserved. 3 # Copyright 2013 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Runs all types of tests from one unified interface.""" 7 """Runs all types of tests from one unified interface."""
8 8
9 import argparse 9 import argparse
10 import collections 10 import collections
11 import itertools 11 import itertools
12 import logging 12 import logging
13 import os 13 import os
14 import signal 14 import signal
15 import sys 15 import sys
16 import threading 16 import threading
17 import unittest 17 import unittest
18 18
19 from devil import base_error 19 from devil import base_error
20 from devil import devil_env
21 from devil.android import apk_helper 20 from devil.android import apk_helper
22 from devil.android import device_blacklist 21 from devil.android import device_blacklist
23 from devil.android import device_errors 22 from devil.android import device_errors
24 from devil.android import device_utils 23 from devil.android import device_utils
25 from devil.android import ports 24 from devil.android import ports
26 from devil.utils import reraiser_thread 25 from devil.utils import reraiser_thread
27 from devil.utils import run_tests_helper 26 from devil.utils import run_tests_helper
28 27
29 from pylib import constants 28 from pylib import constants
30 from pylib import forwarder 29 from pylib import forwarder
(...skipping 12 matching lines...) Expand all
43 from pylib.monkey import test_options as monkey_test_options 42 from pylib.monkey import test_options as monkey_test_options
44 from pylib.perf import setup as perf_setup 43 from pylib.perf import setup as perf_setup
45 from pylib.perf import test_options as perf_test_options 44 from pylib.perf import test_options as perf_test_options
46 from pylib.perf import test_runner as perf_test_runner 45 from pylib.perf import test_runner as perf_test_runner
47 from pylib.results import json_results 46 from pylib.results import json_results
48 from pylib.results import report_results 47 from pylib.results import report_results
49 from pylib.uiautomator import setup as uiautomator_setup 48 from pylib.uiautomator import setup as uiautomator_setup
50 from pylib.uiautomator import test_options as uiautomator_test_options 49 from pylib.uiautomator import test_options as uiautomator_test_options
51 50
52 51
53 _DEVIL_STATIC_CONFIG_FILE = os.path.abspath(os.path.join(
54 constants.DIR_SOURCE_ROOT, 'build', 'android', 'devil_config.json'))
55
56
57 def AddCommonOptions(parser): 52 def AddCommonOptions(parser):
58 """Adds all common options to |parser|.""" 53 """Adds all common options to |parser|."""
59 54
60 group = parser.add_argument_group('Common Options') 55 group = parser.add_argument_group('Common Options')
61 56
62 default_build_type = os.environ.get('BUILDTYPE', 'Debug') 57 default_build_type = os.environ.get('BUILDTYPE', 'Debug')
63 58
64 debug_or_release_group = group.add_mutually_exclusive_group() 59 debug_or_release_group = group.add_mutually_exclusive_group()
65 debug_or_release_group.add_argument( 60 debug_or_release_group.add_argument(
66 '--debug', action='store_const', const='Debug', dest='build_type', 61 '--debug', action='store_const', const='Debug', dest='build_type',
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 def ProcessCommonOptions(args): 106 def ProcessCommonOptions(args):
112 """Processes and handles all common options.""" 107 """Processes and handles all common options."""
113 run_tests_helper.SetLogLevel(args.verbose_count) 108 run_tests_helper.SetLogLevel(args.verbose_count)
114 constants.SetBuildType(args.build_type) 109 constants.SetBuildType(args.build_type)
115 if args.build_directory: 110 if args.build_directory:
116 constants.SetBuildDirectory(args.build_directory) 111 constants.SetBuildDirectory(args.build_directory)
117 if args.output_directory: 112 if args.output_directory:
118 constants.SetOutputDirectory(args.output_directory) 113 constants.SetOutputDirectory(args.output_directory)
119 if args.adb_path: 114 if args.adb_path:
120 constants.SetAdbPath(args.adb_path) 115 constants.SetAdbPath(args.adb_path)
121
122 output_binary = lambda p: os.path.join(constants.GetOutDirectory(), p)
123 devil_dynamic_deps = {
124 'md5sum_host': [output_binary('md5sum_bin_host')],
125 'md5sum_device': [output_binary('md5sum_dist')],
126 'forwarder_host': [output_binary('host_forwarder')],
127 'forwarder_device': [output_binary('forwarder_dist')],
128 }
129 if args.adb_path:
130 devil_dynamic_deps['adb_path'] = [args.adb_path]
131
132 devil_dynamic_config = devil_env.GenerateDynamicConfig(devil_dynamic_deps)
133 devil_env.config.Initialize(
134 configs=[devil_dynamic_config],
135 config_files=[_DEVIL_STATIC_CONFIG_FILE])
136
137 # Some things such as Forwarder require ADB to be in the environment path. 116 # Some things such as Forwarder require ADB to be in the environment path.
138 adb_dir = os.path.dirname(constants.GetAdbPath()) 117 adb_dir = os.path.dirname(constants.GetAdbPath())
139 if adb_dir and adb_dir not in os.environ['PATH'].split(os.pathsep): 118 if adb_dir and adb_dir not in os.environ['PATH'].split(os.pathsep):
140 os.environ['PATH'] = adb_dir + os.pathsep + os.environ['PATH'] 119 os.environ['PATH'] = adb_dir + os.pathsep + os.environ['PATH']
141 120
142 121
143 def AddRemoteDeviceOptions(parser): 122 def AddRemoteDeviceOptions(parser):
144 group = parser.add_argument_group('Remote Device Options') 123 group = parser.add_argument_group('Remote Device Options')
145 124
146 group.add_argument('--trigger', 125 group.add_argument('--trigger',
(...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after
1070 if e.is_infra_error: 1049 if e.is_infra_error:
1071 return constants.INFRA_EXIT_CODE 1050 return constants.INFRA_EXIT_CODE
1072 return constants.ERROR_EXIT_CODE 1051 return constants.ERROR_EXIT_CODE
1073 except: # pylint: disable=W0702 1052 except: # pylint: disable=W0702
1074 logging.exception('Unrecognized error occurred.') 1053 logging.exception('Unrecognized error occurred.')
1075 return constants.ERROR_EXIT_CODE 1054 return constants.ERROR_EXIT_CODE
1076 1055
1077 1056
1078 if __name__ == '__main__': 1057 if __name__ == '__main__':
1079 sys.exit(main()) 1058 sys.exit(main())
OLDNEW
« no previous file with comments | « build/android/pylintrc ('k') | tools/telemetry/catapult_base/dependency_manager/dependency_manager.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698