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 from pylib.base import environment | 5 from pylib.base import environment |
6 from pylib.device import adb_wrapper | 6 from pylib.device import adb_wrapper |
7 from pylib.device import device_errors | 7 from pylib.device import device_errors |
8 from pylib.device import device_utils | 8 from pylib.device import device_utils |
9 from pylib.utils import parallelizer | 9 from pylib.utils import parallelizer |
10 | 10 |
11 | 11 |
12 class LocalDeviceEnvironment(environment.Environment): | 12 class LocalDeviceEnvironment(environment.Environment): |
13 | 13 |
14 def __init__(self, args, _error_func): | 14 def __init__(self, args, _error_func): |
15 super(LocalDeviceEnvironment, self).__init__() | 15 super(LocalDeviceEnvironment, self).__init__() |
16 self._device = args.test_device | 16 self._device_serial = args.test_device |
17 self._devices = [] | 17 self._devices = [] |
18 self._max_tries = 1 + args.num_retries | 18 self._max_tries = 1 + args.num_retries |
19 self._tool_name = args.tool | 19 self._tool_name = args.tool |
20 | 20 |
21 #override | 21 #override |
22 def SetUp(self): | 22 def SetUp(self): |
23 # TODO(jbudorick): This can be refined to support filters etc. | 23 available_devices = device_utils.DeviceUtils.HealthyDevices() |
24 available_devices = adb_wrapper.AdbWrapper.GetDevices() | |
25 if not available_devices: | 24 if not available_devices: |
26 raise device_errors.NoDevicesError | 25 raise device_errors.NoDevicesError |
27 if self._device: | 26 if self._device_serial: |
28 if self._device not in available_devices: | 27 self._devices = [d for d in available_devices |
| 28 if d.adb.GetDeviceSerial == self._device_serial] |
| 29 if not self._devices: |
29 raise device_errors.DeviceUnreachableError( | 30 raise device_errors.DeviceUnreachableError( |
30 'Could not find device %r' % self._device) | 31 'Could not find device %r' % self._device_serial) |
31 self._devices = [device_utils.DeviceUtils(self._device)] | |
32 else: | 32 else: |
33 self._devices = [ | 33 self._devices = available_devices |
34 device_utils.DeviceUtils(s) | |
35 for s in available_devices] | |
36 | 34 |
37 @property | 35 @property |
38 def devices(self): | 36 def devices(self): |
39 return self._devices | 37 return self._devices |
40 | 38 |
41 @property | 39 @property |
42 def parallel_devices(self): | 40 def parallel_devices(self): |
43 return parallelizer.SyncParallelizer(self._devices) | 41 return parallelizer.SyncParallelizer(self._devices) |
44 | 42 |
45 @property | 43 @property |
46 def max_tries(self): | 44 def max_tries(self): |
47 return self._max_tries | 45 return self._max_tries |
48 | 46 |
49 @property | 47 @property |
50 def tool(self): | 48 def tool(self): |
51 return self._tool_name | 49 return self._tool_name |
52 | 50 |
53 #override | 51 #override |
54 def TearDown(self): | 52 def TearDown(self): |
55 pass | 53 pass |
56 | 54 |
OLD | NEW |