OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import logging | 5 import logging |
6 import os | 6 import os |
7 import re | 7 import re |
8 import sys | 8 import sys |
9 import tempfile | 9 import tempfile |
10 | 10 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 | 131 |
132 def __init__(self, args, isolate_delegate, error_func): | 132 def __init__(self, args, isolate_delegate, error_func): |
133 super(GtestTestInstance, self).__init__() | 133 super(GtestTestInstance, self).__init__() |
134 # TODO(jbudorick): Support multiple test suites. | 134 # TODO(jbudorick): Support multiple test suites. |
135 if len(args.suite_name) > 1: | 135 if len(args.suite_name) > 1: |
136 raise ValueError('Platform mode currently supports only 1 gtest suite') | 136 raise ValueError('Platform mode currently supports only 1 gtest suite') |
137 self._suite = args.suite_name[0] | 137 self._suite = args.suite_name[0] |
138 | 138 |
139 self._shard_timeout = args.shard_timeout | 139 self._shard_timeout = args.shard_timeout |
140 | 140 |
141 self._apk_path = os.path.join( | 141 apk_path = os.path.join( |
142 constants.GetOutDirectory(), '%s_apk' % self._suite, | 142 constants.GetOutDirectory(), '%s_apk' % self._suite, |
143 '%s-debug.apk' % self._suite) | 143 '%s-debug.apk' % self._suite) |
144 self._exe_path = os.path.join(constants.GetOutDirectory(), | 144 self._exe_path = os.path.join(constants.GetOutDirectory(), |
145 self._suite) | 145 self._suite) |
146 if not os.path.exists(self._apk_path): | 146 if not os.path.exists(apk_path): |
147 self._apk_path = None | 147 self._apk_helper = None |
148 self._activity = None | |
149 self._package = None | |
150 self._runner = None | |
151 else: | 148 else: |
152 helper = apk_helper.ApkHelper(self._apk_path) | 149 self._apk_helper = apk_helper.ApkHelper(apk_path) |
153 self._activity = helper.GetActivityName() | |
154 self._package = helper.GetPackageName() | |
155 self._runner = helper.GetInstrumentationName() | |
156 self._permissions = helper.GetPermissions() | |
157 self._extras = { | 150 self._extras = { |
158 _EXTRA_NATIVE_TEST_ACTIVITY: self._activity, | 151 _EXTRA_NATIVE_TEST_ACTIVITY: self._apk_helper.GetActivityName(), |
159 } | 152 } |
160 if self._suite in RUN_IN_SUB_THREAD_TEST_SUITES: | 153 if self._suite in RUN_IN_SUB_THREAD_TEST_SUITES: |
161 self._extras[_EXTRA_RUN_IN_SUB_THREAD] = 1 | 154 self._extras[_EXTRA_RUN_IN_SUB_THREAD] = 1 |
162 if self._suite in BROWSER_TEST_SUITES: | 155 if self._suite in BROWSER_TEST_SUITES: |
163 self._extras[_EXTRA_SHARD_SIZE_LIMIT] = 1 | 156 self._extras[_EXTRA_SHARD_SIZE_LIMIT] = 1 |
164 self._extras[EXTRA_SHARD_NANO_TIMEOUT] = int(1e9 * self._shard_timeout) | 157 self._extras[EXTRA_SHARD_NANO_TIMEOUT] = int(1e9 * self._shard_timeout) |
165 self._shard_timeout = 900 | 158 self._shard_timeout = 900 |
166 | 159 |
167 if not os.path.exists(self._exe_path): | 160 if not os.path.exists(self._exe_path): |
168 self._exe_path = None | 161 self._exe_path = None |
169 if not self._apk_path and not self._exe_path: | 162 if not apk_path and not self._exe_path: |
170 error_func('Could not find apk or executable for %s' % self._suite) | 163 error_func('Could not find apk or executable for %s' % self._suite) |
171 | 164 |
172 self._data_deps = [] | 165 self._data_deps = [] |
173 if args.test_filter: | 166 if args.test_filter: |
174 self._gtest_filter = args.test_filter | 167 self._gtest_filter = args.test_filter |
175 elif args.test_filter_file: | 168 elif args.test_filter_file: |
176 with open(args.test_filter_file, 'r') as f: | 169 with open(args.test_filter_file, 'r') as f: |
177 self._gtest_filter = ':'.join(l.strip() for l in f) | 170 self._gtest_filter = ':'.join(l.strip() for l in f) |
178 else: | 171 else: |
179 self._gtest_filter = None | 172 self._gtest_filter = None |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 return results | 304 return results |
312 | 305 |
313 #override | 306 #override |
314 def TearDown(self): | 307 def TearDown(self): |
315 """Clear the mappings created by SetUp.""" | 308 """Clear the mappings created by SetUp.""" |
316 if self._isolate_delegate: | 309 if self._isolate_delegate: |
317 self._isolate_delegate.Clear() | 310 self._isolate_delegate.Clear() |
318 | 311 |
319 @property | 312 @property |
320 def activity(self): | 313 def activity(self): |
321 return self._activity | 314 return self._apk_helper and self._apk_helper.GetActivityName() |
322 | 315 |
323 @property | 316 @property |
324 def apk(self): | 317 def apk(self): |
325 return self._apk_path | 318 return self._apk_helper and self._apk_helper.path |
| 319 |
| 320 @property |
| 321 def apk_helper(self): |
| 322 return self._apk_helper |
326 | 323 |
327 @property | 324 @property |
328 def app_file_dir(self): | 325 def app_file_dir(self): |
329 return self._app_data_file_dir | 326 return self._app_data_file_dir |
330 | 327 |
331 @property | 328 @property |
332 def app_files(self): | 329 def app_files(self): |
333 return self._app_data_files | 330 return self._app_data_files |
334 | 331 |
335 @property | 332 @property |
336 def exe(self): | 333 def exe(self): |
337 return self._exe_path | 334 return self._exe_path |
338 | 335 |
339 @property | 336 @property |
340 def extras(self): | 337 def extras(self): |
341 return self._extras | 338 return self._extras |
342 | 339 |
343 @property | 340 @property |
344 def package(self): | 341 def package(self): |
345 return self._package | 342 return self._apk_helper and self._apk_helper.GetPackageName() |
346 | 343 |
347 @property | 344 @property |
348 def permissions(self): | 345 def permissions(self): |
349 return self._permissions | 346 return self._apk_helper and self._apk_helper.GetPermissions() |
350 | 347 |
351 @property | 348 @property |
352 def runner(self): | 349 def runner(self): |
353 return self._runner | 350 return self._apk_helper and self._apk_helper.GetInstrumentationName() |
354 | 351 |
355 @property | 352 @property |
356 def shard_timeout(self): | 353 def shard_timeout(self): |
357 return self._shard_timeout | 354 return self._shard_timeout |
358 | 355 |
359 @property | 356 @property |
360 def suite(self): | 357 def suite(self): |
361 return self._suite | 358 return self._suite |
362 | 359 |
OLD | NEW |