OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Runs the Java tests. See more information on run_instrumentation_tests.py.""" | 5 """Runs the Java tests. See more information on run_instrumentation_tests.py.""" |
6 | 6 |
7 import fnmatch | 7 import fnmatch |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import re | 10 import re |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 """ | 111 """ |
112 BaseTestRunner.__init__( | 112 BaseTestRunner.__init__( |
113 self, device, options.tool, shard_index, options.build_type) | 113 self, device, options.tool, shard_index, options.build_type) |
114 | 114 |
115 if not apks: | 115 if not apks: |
116 apks = [apk_info.ApkInfo(options.test_apk_path, | 116 apks = [apk_info.ApkInfo(options.test_apk_path, |
117 options.test_apk_jar_path)] | 117 options.test_apk_jar_path)] |
118 | 118 |
119 self.build_type = options.build_type | 119 self.build_type = options.build_type |
120 self.install_apk = options.install_apk | 120 self.install_apk = options.install_apk |
| 121 self.test_data = options.test_data |
121 self.save_perf_json = options.save_perf_json | 122 self.save_perf_json = options.save_perf_json |
122 self.screenshot_failures = options.screenshot_failures | 123 self.screenshot_failures = options.screenshot_failures |
123 self.wait_for_debugger = options.wait_for_debugger | 124 self.wait_for_debugger = options.wait_for_debugger |
124 self.disable_assertions = options.disable_assertions | 125 self.disable_assertions = options.disable_assertions |
125 | 126 |
126 self.tests_iter = tests_iter | 127 self.tests_iter = tests_iter |
127 self.coverage = coverage | 128 self.coverage = coverage |
128 self.apks = apks | 129 self.apks = apks |
129 self.test_apk = apks[0] | 130 self.test_apk = apks[0] |
130 self.instrumentation_class_path = self.test_apk.GetPackageName() | 131 self.instrumentation_class_path = self.test_apk.GetPackageName() |
(...skipping 24 matching lines...) Expand all Loading... |
155 self.tests_iter = (BaseTestSharder.tests_container) | 156 self.tests_iter = (BaseTestSharder.tests_container) |
156 assert self.tests_iter | 157 assert self.tests_iter |
157 return self.tests_iter | 158 return self.tests_iter |
158 | 159 |
159 def CopyTestFilesOnce(self): | 160 def CopyTestFilesOnce(self): |
160 """Pushes the test data files to the device. Installs the apk if opted.""" | 161 """Pushes the test data files to the device. Installs the apk if opted.""" |
161 if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): | 162 if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): |
162 logging.warning('Already copied test files to device %s, skipping.', | 163 logging.warning('Already copied test files to device %s, skipping.', |
163 self.device) | 164 self.device) |
164 return | 165 return |
165 host_test_files = [ | 166 for dest_host_pair in self.test_data: |
166 ('android_webview/test/data/device_files', 'webview'), | 167 dst_src = dest_host_pair.split(':',1) |
167 ('content/test/data/android/device_files', 'content'), | 168 dst_layer = dst_src[0] |
168 ('chrome/test/data/android/device_files', 'chrome') | 169 host_src = dst_src[1] |
169 ] | |
170 for (host_src, dst_layer) in host_test_files: | |
171 host_test_files_path = constants.CHROME_DIR + '/' + host_src | 170 host_test_files_path = constants.CHROME_DIR + '/' + host_src |
172 if os.path.exists(host_test_files_path): | 171 if os.path.exists(host_test_files_path): |
173 self.adb.PushIfNeeded(host_test_files_path, | 172 self.adb.PushIfNeeded(host_test_files_path, |
174 self.adb.GetExternalStorage() + '/' + | 173 self.adb.GetExternalStorage() + '/' + |
175 TestRunner._DEVICE_DATA_DIR + '/' + dst_layer) | 174 TestRunner._DEVICE_DATA_DIR + '/' + dst_layer) |
176 if self.install_apk: | 175 if self.install_apk: |
177 for apk in self.apks: | 176 for apk in self.apks: |
178 self.adb.ManagedInstall(apk.GetApkPath(), | 177 self.adb.ManagedInstall(apk.GetApkPath(), |
179 package_name=apk.GetPackageName()) | 178 package_name=apk.GetPackageName()) |
180 self.tool.CopyFiles() | 179 self.tool.CopyFiles() |
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 | 573 |
575 logging.info('Will run: %s', str(tests)) | 574 logging.info('Will run: %s', str(tests)) |
576 | 575 |
577 if len(attached_devices) > 1 and (coverage or options.wait_for_debugger): | 576 if len(attached_devices) > 1 and (coverage or options.wait_for_debugger): |
578 logging.warning('Coverage / debugger can not be sharded, ' | 577 logging.warning('Coverage / debugger can not be sharded, ' |
579 'using first available device') | 578 'using first available device') |
580 attached_devices = attached_devices[:1] | 579 attached_devices = attached_devices[:1] |
581 sharder = TestSharder(attached_devices, options, tests, apks) | 580 sharder = TestSharder(attached_devices, options, tests, apks) |
582 test_results = sharder.RunShardedTests() | 581 test_results = sharder.RunShardedTests() |
583 return test_results | 582 return test_results |
OLD | NEW |