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