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

Side by Side Diff: build/android/pylib/android_commands.py

Issue 10702162: add sd card when creating avd and wait for it ready before pushing data into it (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix coding style Created 8 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | build/android/pylib/single_test_runner.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 an interface to communicate with the device via the adb command. 5 """Provides an interface to communicate with the device via the adb command.
6 6
7 Assumes adb binary is currently on system path. 7 Assumes adb binary is currently on system path.
8 """ 8 """
9 9
10 import collections 10 import collections
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 312
313 logging.info('>>> $' + install_command) 313 logging.info('>>> $' + install_command)
314 return self._adb.SendCommand(install_command, timeout_time=2*60) 314 return self._adb.SendCommand(install_command, timeout_time=2*60)
315 315
316 def MakeSystemFolderWritable(self): 316 def MakeSystemFolderWritable(self):
317 """Remounts the /system folder rw. """ 317 """Remounts the /system folder rw. """
318 out = self._adb.SendCommand('remount') 318 out = self._adb.SendCommand('remount')
319 if out.strip() != 'remount succeeded': 319 if out.strip() != 'remount succeeded':
320 raise errors.MsgException('Remount failed: %s' % out) 320 raise errors.MsgException('Remount failed: %s' % out)
321 321
322 def WaitForSdCardReady(self, timeout_time):
323 """Wait for the SD card ready before pushing data into it."""
324 logging.info('Waiting for SD card ready...')
325 sdcard_ready = False
326 attempts = 0
327 wait_period = 5
328 while not sdcard_ready and attempts * wait_period < timeout_time:
329 output = self.RunShellCommand('ls /sdcard/')
330 if len(output) > 0:
331 sdcard_ready = True
332 else:
333 time.sleep(wait_period)
334 attempts += 1
335 if not sdcard_ready:
336 raise errors.WaitForResponseTimedOutError(
337 'SD card not ready after %s seconds' % timeout_time)
338
322 # It is tempting to turn this function into a generator, however this is not 339 # It is tempting to turn this function into a generator, however this is not
323 # possible without using a private (local) adb_shell instance (to ensure no 340 # possible without using a private (local) adb_shell instance (to ensure no
324 # other command interleaves usage of it), which would defeat the main aim of 341 # other command interleaves usage of it), which would defeat the main aim of
325 # being able to reuse the adb shell instance across commands. 342 # being able to reuse the adb shell instance across commands.
326 def RunShellCommand(self, command, timeout_time=20, log_result=True): 343 def RunShellCommand(self, command, timeout_time=20, log_result=True):
327 """Send a command to the adb shell and return the result. 344 """Send a command to the adb shell and return the result.
328 345
329 Args: 346 Args:
330 command: String containing the shell command to send. Must not include 347 command: String containing the shell command to send. Must not include
331 the single quotes as we use them to escape the whole command. 348 the single quotes as we use them to escape the whole command.
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 pid_list = self.ExtractPid(package) 849 pid_list = self.ExtractPid(package)
833 smaps = collections.defaultdict(dict) 850 smaps = collections.defaultdict(dict)
834 851
835 for pid in pid_list: 852 for pid in pid_list:
836 usage_dict_per_pid, smaps_per_pid = self.GetMemoryUsageForPid(pid) 853 usage_dict_per_pid, smaps_per_pid = self.GetMemoryUsageForPid(pid)
837 smaps[pid] = smaps_per_pid 854 smaps[pid] = smaps_per_pid
838 for (key, value) in usage_dict_per_pid.items(): 855 for (key, value) in usage_dict_per_pid.items():
839 usage_dict[key] += value 856 usage_dict[key] += value
840 857
841 return usage_dict, smaps 858 return usage_dict, smaps
OLDNEW
« no previous file with comments | « no previous file | build/android/pylib/single_test_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698