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 itertools | 5 import itertools |
6 import os | 6 import os |
7 import posixpath | 7 import posixpath |
8 | 8 |
9 from devil.android import device_errors | 9 from devil.android import device_errors |
10 from devil.android import device_temp_file | 10 from devil.android import device_temp_file |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 host_file_base, ext = os.path.splitext(host_file) | 48 host_file_base, ext = os.path.splitext(host_file) |
49 for i in itertools.count(): | 49 for i in itertools.count(): |
50 host_file = '%s_%d%s' % (host_file_base, i, ext) | 50 host_file = '%s_%d%s' % (host_file_base, i, ext) |
51 if not os.path.exists(host_file): | 51 if not os.path.exists(host_file): |
52 break | 52 break |
53 device.PullFile(device_file, host_file) | 53 device.PullFile(device_file, host_file) |
54 | 54 |
55 class _ApkDelegate(object): | 55 class _ApkDelegate(object): |
56 def __init__(self, test_instance): | 56 def __init__(self, test_instance): |
57 self._activity = test_instance.activity | 57 self._activity = test_instance.activity |
58 self._apk = test_instance.apk | 58 self._apk_helper = test_instance.apk_helper |
59 self._package = test_instance.package | 59 self._package = test_instance.package |
60 self._runner = test_instance.runner | 60 self._runner = test_instance.runner |
61 self._permissions = test_instance.permissions | 61 self._permissions = test_instance.permissions |
62 | 62 |
63 self._component = '%s/%s' % (self._package, self._runner) | 63 self._component = '%s/%s' % (self._package, self._runner) |
64 self._extras = test_instance.extras | 64 self._extras = test_instance.extras |
65 | 65 |
66 def Install(self, device): | 66 def Install(self, device): |
67 device.Install(self._apk, permissions=self._permissions) | 67 device.Install(self._apk_helper, permissions=self._permissions) |
68 | 68 |
69 def Run(self, test, device, flags=None, **kwargs): | 69 def Run(self, test, device, flags=None, **kwargs): |
70 extras = dict(self._extras) | 70 extras = dict(self._extras) |
71 | 71 |
72 if ('timeout' in kwargs | 72 if ('timeout' in kwargs |
73 and gtest_test_instance.EXTRA_SHARD_NANO_TIMEOUT not in extras): | 73 and gtest_test_instance.EXTRA_SHARD_NANO_TIMEOUT not in extras): |
74 # Make sure the instrumentation doesn't kill the test before the | 74 # Make sure the instrumentation doesn't kill the test before the |
75 # scripts do. The provided timeout value is in seconds, but the | 75 # scripts do. The provided timeout value is in seconds, but the |
76 # instrumentation deals with nanoseconds because that's how Android | 76 # instrumentation deals with nanoseconds because that's how Android |
77 # handles time. | 77 # handles time. |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 return results | 253 return results |
254 | 254 |
255 #override | 255 #override |
256 def TearDown(self): | 256 def TearDown(self): |
257 @local_device_test_run.handle_shard_failures | 257 @local_device_test_run.handle_shard_failures |
258 def individual_device_tear_down(dev): | 258 def individual_device_tear_down(dev): |
259 for s in self._servers.get(str(dev), []): | 259 for s in self._servers.get(str(dev), []): |
260 s.TearDown() | 260 s.TearDown() |
261 | 261 |
262 self._env.parallel_devices.pMap(individual_device_tear_down) | 262 self._env.parallel_devices.pMap(individual_device_tear_down) |
OLD | NEW |