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

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

Issue 351603002: [Android] Unit tests for DeviceUtils. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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=W0613 9 # pylint: disable=W0613
10 10
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 Same as for |WaitUntilFullyBooted|. 176 Same as for |WaitUntilFullyBooted|.
177 """ 177 """
178 if timeout is None: 178 if timeout is None:
179 timeout = self._default_timeout 179 timeout = self._default_timeout
180 self.old_interface.WaitForSystemBootCompleted(timeout) 180 self.old_interface.WaitForSystemBootCompleted(timeout)
181 self.old_interface.WaitForDevicePm() 181 self.old_interface.WaitForDevicePm()
182 self.old_interface.WaitForSdCardReady(timeout) 182 self.old_interface.WaitForSdCardReady(timeout)
183 if wifi: 183 if wifi:
184 while not 'Wi-Fi is enabled' in ( 184 while not 'Wi-Fi is enabled' in (
185 self._RunShellCommandImpl('dumpsys wifi')): 185 self._RunShellCommandImpl('dumpsys wifi')):
186 time.sleep(0.1) 186 time.sleep(1)
187
188 REBOOT_DEFAULT_TIMEOUT = 10 * _DEFAULT_TIMEOUT
189 REBOOT_DEFAULT_RETRIES = _DEFAULT_RETRIES
187 190
188 @decorators.WithTimeoutAndRetriesDefaults( 191 @decorators.WithTimeoutAndRetriesDefaults(
189 10 * _DEFAULT_TIMEOUT, _DEFAULT_RETRIES) 192 REBOOT_DEFAULT_TIMEOUT,
193 REBOOT_DEFAULT_RETRIES)
190 def Reboot(self, block=True, timeout=None, retries=None): 194 def Reboot(self, block=True, timeout=None, retries=None):
191 """Reboot the device. 195 """Reboot the device.
192 196
193 Args: 197 Args:
194 block: A boolean indicating if we should wait for the reboot to complete. 198 block: A boolean indicating if we should wait for the reboot to complete.
195 timeout: Same as for |IsOnline|. 199 timeout: Same as for |IsOnline|.
196 retries: Same as for |IsOnline|. 200 retries: Same as for |IsOnline|.
197 """ 201 """
198 self.old_interface.Reboot() 202 self.old_interface.Reboot()
199 if block: 203 if block:
200 self._WaitUntilFullyBootedImpl(timeout=timeout) 204 self._WaitUntilFullyBootedImpl(timeout=timeout)
201 205
206 INSTALL_DEFAULT_TIMEOUT = 4 * _DEFAULT_TIMEOUT
207 INSTALL_DEFAULT_RETRIES = _DEFAULT_RETRIES
208
202 @decorators.WithTimeoutAndRetriesDefaults( 209 @decorators.WithTimeoutAndRetriesDefaults(
203 4 * _DEFAULT_TIMEOUT, _DEFAULT_RETRIES) 210 INSTALL_DEFAULT_TIMEOUT,
211 INSTALL_DEFAULT_RETRIES)
204 def Install(self, apk_path, reinstall=False, timeout=None, retries=None): 212 def Install(self, apk_path, reinstall=False, timeout=None, retries=None):
205 """Install an APK. 213 """Install an APK.
206 214
207 Noop if an identical APK is already installed. 215 Noop if an identical APK is already installed.
208 216
209 Args: 217 Args:
210 apk_path: A string containing the path to the APK to install. 218 apk_path: A string containing the path to the APK to install.
211 reinstall: A boolean indicating if we should keep any existing app data. 219 reinstall: A boolean indicating if we should keep any existing app data.
212 timeout: Same as for |IsOnline|. 220 timeout: Same as for |IsOnline|.
213 retries: Same as for |IsOnline|. 221 retries: Same as for |IsOnline|.
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 """ 294 """
287 if isinstance(cmd, list): 295 if isinstance(cmd, list):
288 cmd = ' '.join(cmd) 296 cmd = ' '.join(cmd)
289 if root and not self.HasRoot(): 297 if root and not self.HasRoot():
290 cmd = 'su -c %s' % cmd 298 cmd = 'su -c %s' % cmd
291 if check_return: 299 if check_return:
292 code, output = self.old_interface.GetShellCommandStatusAndOutput( 300 code, output = self.old_interface.GetShellCommandStatusAndOutput(
293 cmd, timeout_time=timeout) 301 cmd, timeout_time=timeout)
294 if int(code) != 0: 302 if int(code) != 0:
295 raise device_errors.CommandFailedError( 303 raise device_errors.CommandFailedError(
296 cmd, 'Nonzero exit code (%d)' % code) 304 cmd.split(), 'Nonzero exit code (%d)' % code)
297 else: 305 else:
298 output = self.old_interface.RunShellCommand(cmd, timeout_time=timeout) 306 output = self.old_interface.RunShellCommand(cmd, timeout_time=timeout)
299 return output 307 return output
300 308
301 def __str__(self): 309 def __str__(self):
302 """Returns the device serial.""" 310 """Returns the device serial."""
303 return self.old_interface.GetDevice() 311 return self.old_interface.GetDevice()
304 312
305 @staticmethod 313 @staticmethod
306 def parallel(devices=None, async=False): 314 def parallel(devices=None, async=False):
(...skipping 12 matching lines...) Expand all
319 A Parallelizer operating over |devices|. 327 A Parallelizer operating over |devices|.
320 """ 328 """
321 if not devices or len(devices) == 0: 329 if not devices or len(devices) == 0:
322 devices = pylib.android_commands.GetAttachedDevices() 330 devices = pylib.android_commands.GetAttachedDevices()
323 parallelizer_type = (parallelizer.Parallelizer if async 331 parallelizer_type = (parallelizer.Parallelizer if async
324 else parallelizer.SyncParallelizer) 332 else parallelizer.SyncParallelizer)
325 return parallelizer_type([ 333 return parallelizer_type([
326 d if isinstance(d, DeviceUtils) else DeviceUtils(d) 334 d if isinstance(d, DeviceUtils) else DeviceUtils(d)
327 for d in devices]) 335 for d in devices])
328 336
OLDNEW
« no previous file with comments | « build/android/pylib/device/decorators.py ('k') | build/android/pylib/device/device_utils_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698