Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Side by Side Diff: build/android/pylib/local/device/local_device_environment.py

Issue 1358593002: [Android] Switch gtests to platform mode. (RELAND) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
6 import threading
7
5 from devil.android import device_blacklist 8 from devil.android import device_blacklist
6 from devil.android import device_errors 9 from devil.android import device_errors
7 from devil.android import device_utils 10 from devil.android import device_utils
8 from devil.utils import parallelizer 11 from devil.utils import parallelizer
9 from pylib.base import environment 12 from pylib.base import environment
10 13
11 14
12 class LocalDeviceEnvironment(environment.Environment): 15 class LocalDeviceEnvironment(environment.Environment):
13 16
14 def __init__(self, args, _error_func): 17 def __init__(self, args, _error_func):
15 super(LocalDeviceEnvironment, self).__init__() 18 super(LocalDeviceEnvironment, self).__init__()
16 self._blacklist = (device_blacklist.Blacklist(args.blacklist_file) 19 self._blacklist = (device_blacklist.Blacklist(args.blacklist_file)
17 if args.blacklist_file 20 if args.blacklist_file
18 else None) 21 else None)
19 self._device_serial = args.test_device 22 self._device_serial = args.test_device
23 self._devices_lock = threading.Lock()
20 self._devices = [] 24 self._devices = []
21 self._max_tries = 1 + args.num_retries 25 self._max_tries = 1 + args.num_retries
22 self._tool_name = args.tool 26 self._tool_name = args.tool
23 27
24 #override 28 #override
25 def SetUp(self): 29 def SetUp(self):
26 available_devices = device_utils.DeviceUtils.HealthyDevices( 30 available_devices = device_utils.DeviceUtils.HealthyDevices(
27 self._blacklist) 31 self._blacklist)
28 if not available_devices: 32 if not available_devices:
29 raise device_errors.NoDevicesError 33 raise device_errors.NoDevicesError
30 if self._device_serial: 34 if self._device_serial:
31 self._devices = [d for d in available_devices 35 self._devices = [d for d in available_devices
32 if d.adb.GetDeviceSerial() == self._device_serial] 36 if d.adb.GetDeviceSerial() == self._device_serial]
33 if not self._devices: 37 if not self._devices:
34 raise device_errors.DeviceUnreachableError( 38 raise device_errors.DeviceUnreachableError(
35 'Could not find device %r' % self._device_serial) 39 'Could not find device %r' % self._device_serial)
36 else: 40 else:
37 self._devices = available_devices 41 self._devices = available_devices
38 42
39 @property 43 @property
40 def devices(self): 44 def devices(self):
45 if not self._devices:
46 raise device_errors.NoDevicesError()
41 return self._devices 47 return self._devices
42 48
43 @property 49 @property
44 def parallel_devices(self): 50 def parallel_devices(self):
45 return parallelizer.SyncParallelizer(self._devices) 51 return parallelizer.SyncParallelizer(self.devices)
46 52
47 @property 53 @property
48 def max_tries(self): 54 def max_tries(self):
49 return self._max_tries 55 return self._max_tries
50 56
51 @property 57 @property
52 def tool(self): 58 def tool(self):
53 return self._tool_name 59 return self._tool_name
54 60
55 #override 61 #override
56 def TearDown(self): 62 def TearDown(self):
57 pass 63 pass
58 64
65 def BlacklistDevice(self, device):
66 if not self._blacklist:
67 logging.warning(
68 'Attempted to blacklist %s, but no blacklist was provided.',
69 str(device))
70 return
71
72 device_serial = device.adb.GetDeviceSerial()
73 self._blacklist.Extend([device_serial])
74 with self._devices_lock:
75 self._devices = [d for d in self._devices if str(d) != device_serial]
76
OLDNEW
« no previous file with comments | « build/android/pylib/gtest/test_package_apk.py ('k') | build/android/pylib/local/device/local_device_gtest_run.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698