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

Side by Side Diff: build/android/buildbot/bb_device_steps.py

Issue 221823011: [Android] Change object types from AndroidCommands to DeviceUtils in build/android/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Frank's comments. Created 6 years, 8 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import collections 6 import collections
7 import glob 7 import glob
8 import hashlib 8 import hashlib
9 import json 9 import json
10 import multiprocessing 10 import multiprocessing
11 import os 11 import os
12 import random 12 import random
13 import re 13 import re
14 import shutil 14 import shutil
15 import sys 15 import sys
16 16
17 import bb_utils 17 import bb_utils
18 import bb_annotations 18 import bb_annotations
19 19
20 sys.path.append(os.path.join(os.path.dirname(__file__), '..')) 20 sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
21 import provision_devices 21 import provision_devices
22 from pylib import android_commands 22 from pylib import android_commands
23 from pylib import constants 23 from pylib import constants
24 from pylib.device import device_utils
24 from pylib.gtest import gtest_config 25 from pylib.gtest import gtest_config
25 26
26 CHROME_SRC_DIR = bb_utils.CHROME_SRC 27 CHROME_SRC_DIR = bb_utils.CHROME_SRC
27 DIR_BUILD_ROOT = os.path.dirname(CHROME_SRC_DIR) 28 DIR_BUILD_ROOT = os.path.dirname(CHROME_SRC_DIR)
28 CHROME_OUT_DIR = bb_utils.CHROME_OUT_DIR 29 CHROME_OUT_DIR = bb_utils.CHROME_OUT_DIR
29 sys.path.append(os.path.join( 30 sys.path.append(os.path.join(
30 CHROME_SRC_DIR, 'third_party', 'android_testrunner')) 31 CHROME_SRC_DIR, 'third_party', 'android_testrunner'))
31 import errors 32 import errors
32 33
33 34
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 revision = options.build_properties.get('got_revision') 96 revision = options.build_properties.get('got_revision')
96 if not revision: 97 if not revision:
97 revision = options.build_properties.get('revision', 'testing') 98 revision = options.build_properties.get('revision', 'testing')
98 return revision 99 return revision
99 100
100 101
101 # multiprocessing map_async requires a top-level function for pickle library. 102 # multiprocessing map_async requires a top-level function for pickle library.
102 def RebootDeviceSafe(device): 103 def RebootDeviceSafe(device):
103 """Reboot a device, wait for it to start, and squelch timeout exceptions.""" 104 """Reboot a device, wait for it to start, and squelch timeout exceptions."""
104 try: 105 try:
105 android_commands.AndroidCommands(device).Reboot(True) 106 device_utils.DeviceUtils(device).old_interface.Reboot(True)
106 except errors.DeviceUnresponsiveError as e: 107 except errors.DeviceUnresponsiveError as e:
107 return e 108 return e
108 109
109 110
110 def RebootDevices(): 111 def RebootDevices():
111 """Reboot all attached and online devices.""" 112 """Reboot all attached and online devices."""
112 # Early return here to avoid presubmit dependence on adb, 113 # Early return here to avoid presubmit dependence on adb,
113 # which might not exist in this checkout. 114 # which might not exist in this checkout.
114 if bb_utils.TESTING: 115 if bb_utils.TESTING:
115 return 116 return
116 devices = android_commands.GetAttachedDevices(emulator=False) 117 devices = android_commands.GetAttachedDevices()
117 print 'Rebooting: %s' % devices 118 print 'Rebooting: %s' % devices
118 if devices: 119 if devices:
119 pool = multiprocessing.Pool(len(devices)) 120 pool = multiprocessing.Pool(len(devices))
120 results = pool.map_async(RebootDeviceSafe, devices).get(99999) 121 results = pool.map_async(RebootDeviceSafe, devices).get(99999)
121 122
122 for device, result in zip(devices, results): 123 for device, result in zip(devices, results):
123 if result: 124 if result:
124 print '%s failed to startup.' % device 125 print '%s failed to startup.' % device
125 126
126 if any(results): 127 if any(results):
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 392
392 # Wait for logcat_monitor to pull existing logcat 393 # Wait for logcat_monitor to pull existing logcat
393 RunCmd(['sleep', '5']) 394 RunCmd(['sleep', '5'])
394 395
395 396
396 def ProvisionDevices(options): 397 def ProvisionDevices(options):
397 bb_annotations.PrintNamedStep('provision_devices') 398 bb_annotations.PrintNamedStep('provision_devices')
398 399
399 if not bb_utils.TESTING: 400 if not bb_utils.TESTING:
400 # Restart adb to work around bugs, sleep to wait for usb discovery. 401 # Restart adb to work around bugs, sleep to wait for usb discovery.
401 adb = android_commands.AndroidCommands() 402 device_utils.DeviceUtils(None).old_interface.RestartAdbServer()
402 adb.RestartAdbServer()
403 RunCmd(['sleep', '1']) 403 RunCmd(['sleep', '1'])
404 404
405 if not options.no_reboot: 405 if not options.no_reboot:
406 RebootDevices() 406 RebootDevices()
407 provision_cmd = ['build/android/provision_devices.py', '-t', options.target] 407 provision_cmd = ['build/android/provision_devices.py', '-t', options.target]
408 if options.auto_reconnect: 408 if options.auto_reconnect:
409 provision_cmd.append('--auto-reconnect') 409 provision_cmd.append('--auto-reconnect')
410 RunCmd(provision_cmd) 410 RunCmd(provision_cmd)
411 411
412 412
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 setattr(options, 'target', options.factory_properties.get('target', 'Debug')) 646 setattr(options, 'target', options.factory_properties.get('target', 'Debug'))
647 if options.coverage_bucket: 647 if options.coverage_bucket:
648 setattr(options, 'coverage_dir', 648 setattr(options, 'coverage_dir',
649 os.path.join(CHROME_OUT_DIR, options.target, 'coverage')) 649 os.path.join(CHROME_OUT_DIR, options.target, 'coverage'))
650 650
651 MainTestWrapper(options) 651 MainTestWrapper(options)
652 652
653 653
654 if __name__ == '__main__': 654 if __name__ == '__main__':
655 sys.exit(main(sys.argv)) 655 sys.exit(main(sys.argv))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698