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

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

Issue 1399273002: [Android] Add a configurable environment for devil/. (RELAND) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed: more non-default directory handling, especially for gyp_managed_install 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 import devil_chromium
20
19 from devil import base_error 21 from devil import base_error
20 from devil.android import apk_helper 22 from devil.android import apk_helper
21 from devil.android import device_blacklist 23 from devil.android import device_blacklist
22 from devil.android import device_errors 24 from devil.android import device_errors
23 from devil.android import device_utils 25 from devil.android import device_utils
24 from devil.android import ports 26 from devil.android import ports
25 from devil.utils import reraiser_thread 27 from devil.utils import reraiser_thread
26 from devil.utils import run_tests_helper 28 from devil.utils import run_tests_helper
27 29
28 from pylib import constants 30 from pylib import constants
(...skipping 13 matching lines...) Expand all
42 from pylib.monkey import test_options as monkey_test_options 44 from pylib.monkey import test_options as monkey_test_options
43 from pylib.perf import setup as perf_setup 45 from pylib.perf import setup as perf_setup
44 from pylib.perf import test_options as perf_test_options 46 from pylib.perf import test_options as perf_test_options
45 from pylib.perf import test_runner as perf_test_runner 47 from pylib.perf import test_runner as perf_test_runner
46 from pylib.results import json_results 48 from pylib.results import json_results
47 from pylib.results import report_results 49 from pylib.results import report_results
48 from pylib.uiautomator import setup as uiautomator_setup 50 from pylib.uiautomator import setup as uiautomator_setup
49 from pylib.uiautomator import test_options as uiautomator_test_options 51 from pylib.uiautomator import test_options as uiautomator_test_options
50 52
51 53
54 _DEVIL_STATIC_CONFIG_FILE = os.path.abspath(os.path.join(
55 constants.DIR_SOURCE_ROOT, 'build', 'android', 'devil_config.json'))
56
57
52 def AddCommonOptions(parser): 58 def AddCommonOptions(parser):
53 """Adds all common options to |parser|.""" 59 """Adds all common options to |parser|."""
54 60
55 group = parser.add_argument_group('Common Options') 61 group = parser.add_argument_group('Common Options')
56 62
57 default_build_type = os.environ.get('BUILDTYPE', 'Debug') 63 default_build_type = os.environ.get('BUILDTYPE', 'Debug')
58 64
59 debug_or_release_group = group.add_mutually_exclusive_group() 65 debug_or_release_group = group.add_mutually_exclusive_group()
60 debug_or_release_group.add_argument( 66 debug_or_release_group.add_argument(
61 '--debug', action='store_const', const='Debug', dest='build_type', 67 '--debug', action='store_const', const='Debug', dest='build_type',
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 def ProcessCommonOptions(args): 112 def ProcessCommonOptions(args):
107 """Processes and handles all common options.""" 113 """Processes and handles all common options."""
108 run_tests_helper.SetLogLevel(args.verbose_count) 114 run_tests_helper.SetLogLevel(args.verbose_count)
109 constants.SetBuildType(args.build_type) 115 constants.SetBuildType(args.build_type)
110 if args.build_directory: 116 if args.build_directory:
111 constants.SetBuildDirectory(args.build_directory) 117 constants.SetBuildDirectory(args.build_directory)
112 if args.output_directory: 118 if args.output_directory:
113 constants.SetOutputDirectory(args.output_directory) 119 constants.SetOutputDirectory(args.output_directory)
114 if args.adb_path: 120 if args.adb_path:
115 constants.SetAdbPath(args.adb_path) 121 constants.SetAdbPath(args.adb_path)
122
123 devil_chromium.Initialize()
124
116 # Some things such as Forwarder require ADB to be in the environment path. 125 # Some things such as Forwarder require ADB to be in the environment path.
117 adb_dir = os.path.dirname(constants.GetAdbPath()) 126 adb_dir = os.path.dirname(constants.GetAdbPath())
118 if adb_dir and adb_dir not in os.environ['PATH'].split(os.pathsep): 127 if adb_dir and adb_dir not in os.environ['PATH'].split(os.pathsep):
119 os.environ['PATH'] = adb_dir + os.pathsep + os.environ['PATH'] 128 os.environ['PATH'] = adb_dir + os.pathsep + os.environ['PATH']
120 129
121 130
122 def AddRemoteDeviceOptions(parser): 131 def AddRemoteDeviceOptions(parser):
123 group = parser.add_argument_group('Remote Device Options') 132 group = parser.add_argument_group('Remote Device Options')
124 133
125 group.add_argument('--trigger', 134 group.add_argument('--trigger',
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
1054 if e.is_infra_error: 1063 if e.is_infra_error:
1055 return constants.INFRA_EXIT_CODE 1064 return constants.INFRA_EXIT_CODE
1056 return constants.ERROR_EXIT_CODE 1065 return constants.ERROR_EXIT_CODE
1057 except: # pylint: disable=W0702 1066 except: # pylint: disable=W0702
1058 logging.exception('Unrecognized error occurred.') 1067 logging.exception('Unrecognized error occurred.')
1059 return constants.ERROR_EXIT_CODE 1068 return constants.ERROR_EXIT_CODE
1060 1069
1061 1070
1062 if __name__ == '__main__': 1071 if __name__ == '__main__':
1063 sys.exit(main()) 1072 sys.exit(main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698