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

Side by Side Diff: build/android/pylib/device/device_utils.py

Issue 1112843002: [Android] Remove more uses of android_commands from build/android/pylib. (RELAND) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@detriplicated
Patch Set: fixes for host-driven tests & specific device Created 5 years, 7 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 """Provides a variety of device interactions based on adb. 5 """Provides a variety of device interactions based on adb.
6 6
7 Eventually, this will be based on adb_wrapper. 7 Eventually, this will be based on adb_wrapper.
8 """ 8 """
9 # pylint: disable=unused-argument 9 # pylint: disable=unused-argument
10 10
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 else: 168 else:
169 raise ValueError('Unsupported device value: %r' % device) 169 raise ValueError('Unsupported device value: %r' % device)
170 self._commands_installed = None 170 self._commands_installed = None
171 self._default_timeout = default_timeout 171 self._default_timeout = default_timeout
172 self._default_retries = default_retries 172 self._default_retries = default_retries
173 self._cache = {} 173 self._cache = {}
174 self._client_caches = {} 174 self._client_caches = {}
175 assert hasattr(self, decorators.DEFAULT_TIMEOUT_ATTR) 175 assert hasattr(self, decorators.DEFAULT_TIMEOUT_ATTR)
176 assert hasattr(self, decorators.DEFAULT_RETRIES_ATTR) 176 assert hasattr(self, decorators.DEFAULT_RETRIES_ATTR)
177 177
178 def __eq__(self, other):
179 """Checks whether |other| refers to the same device as |self|.
180
181 Args:
182 other: The object to compare to. This can be a basestring, an instance
183 of adb_wrapper.AdbWrapper, or an instance of DeviceUtils.
184 Returns:
185 Whether |other| refers to the same device as |self|.
186 """
187 return self.adb.GetDeviceSerial() == str(other)
188
189 def __lt__(self, other):
190 """Compares two instances of DeviceUtils.
191
192 This merely compares their serial numbers.
193
194 Args:
195 other: The instance of DeviceUtils to compare to.
196 Returns:
197 Whether |self| is less than |other|.
198 """
199 return self.adb.GetDeviceSerial() < other.adb.GetDeviceSerial()
200
178 def __str__(self): 201 def __str__(self):
179 """Returns the device serial.""" 202 """Returns the device serial."""
180 return self.adb.GetDeviceSerial() 203 return self.adb.GetDeviceSerial()
181 204
182 @decorators.WithTimeoutAndRetriesFromInstance() 205 @decorators.WithTimeoutAndRetriesFromInstance()
183 def IsOnline(self, timeout=None, retries=None): 206 def IsOnline(self, timeout=None, retries=None):
184 """Checks whether the device is online. 207 """Checks whether the device is online.
185 208
186 Args: 209 Args:
187 timeout: timeout in seconds 210 timeout: timeout in seconds
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 self._WriteFileWithPush(script.name, cmd) 551 self._WriteFileWithPush(script.name, cmd)
529 logging.info('Large shell command will be run from file: %s ...', 552 logging.info('Large shell command will be run from file: %s ...',
530 cmd[:100]) 553 cmd[:100])
531 return handle_check_return('sh %s' % script.name_quoted) 554 return handle_check_return('sh %s' % script.name_quoted)
532 555
533 def handle_large_output(cmd, large_output_mode): 556 def handle_large_output(cmd, large_output_mode):
534 if large_output_mode: 557 if large_output_mode:
535 with device_temp_file.DeviceTempFile(self.adb) as large_output_file: 558 with device_temp_file.DeviceTempFile(self.adb) as large_output_file:
536 cmd = '%s > %s' % (cmd, large_output_file.name) 559 cmd = '%s > %s' % (cmd, large_output_file.name)
537 logging.info('Large output mode enabled. Will write output to device ' 560 logging.info('Large output mode enabled. Will write output to device '
538 ' and read results from file.') 561 'and read results from file.')
539 handle_large_command(cmd) 562 handle_large_command(cmd)
540 return self.ReadFile(large_output_file.name) 563 return self.ReadFile(large_output_file.name)
541 else: 564 else:
542 try: 565 try:
543 return handle_large_command(cmd) 566 return handle_large_command(cmd)
544 except device_errors.AdbCommandFailedError as exc: 567 except device_errors.AdbCommandFailedError as exc:
545 if exc.status is None: 568 if exc.status is None:
546 logging.exception('No output found for %s', cmd) 569 logging.exception('No output found for %s', cmd)
547 logging.warning('Attempting to run in large_output mode.') 570 logging.warning('Attempting to run in large_output mode.')
548 logging.warning('Use RunShellCommand(..., large_output=True) for ' 571 logging.warning('Use RunShellCommand(..., large_output=True) for '
(...skipping 1035 matching lines...) Expand 10 before | Expand all | Expand 10 after
1584 blacklist = device_blacklist.ReadBlacklist() 1607 blacklist = device_blacklist.ReadBlacklist()
1585 def blacklisted(adb): 1608 def blacklisted(adb):
1586 if adb.GetDeviceSerial() in blacklist: 1609 if adb.GetDeviceSerial() in blacklist:
1587 logging.warning('Device %s is blacklisted.', adb.GetDeviceSerial()) 1610 logging.warning('Device %s is blacklisted.', adb.GetDeviceSerial())
1588 return True 1611 return True
1589 return False 1612 return False
1590 1613
1591 return [cls(adb) for adb in adb_wrapper.AdbWrapper.Devices() 1614 return [cls(adb) for adb in adb_wrapper.AdbWrapper.Devices()
1592 if not blacklisted(adb)] 1615 if not blacklisted(adb)]
1593 1616
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698