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

Side by Side Diff: build/android/adb_reverse_forwarder.py

Issue 1132993004: [Android] Remove more references to and uses of AndroidCommands. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Command line tool for forwarding ports from a device to the host. 7 """Command line tool for forwarding ports from a device to the host.
8 8
9 Allows an Android device to connect to services running on the host machine, 9 Allows an Android device to connect to services running on the host machine,
10 i.e., "adb forward" in reverse. Requires |host_forwarder| and |device_forwarder| 10 i.e., "adb forward" in reverse. Requires |host_forwarder| and |device_forwarder|
11 to be built. 11 to be built.
12 """ 12 """
13 13
14 import logging 14 import logging
15 import optparse 15 import optparse
16 import sys 16 import sys
17 import time 17 import time
18 18
19 from pylib import constants 19 from pylib import constants
20 from pylib import forwarder 20 from pylib import forwarder
21 from pylib.device import adb_wrapper 21 from pylib.device import adb_wrapper
22 from pylib.device import device_errors
22 from pylib.device import device_utils 23 from pylib.device import device_utils
23 from pylib.utils import run_tests_helper 24 from pylib.utils import run_tests_helper
24 25
25 26
26 def main(argv): 27 def main(argv):
27 parser = optparse.OptionParser(usage='Usage: %prog [options] device_port ' 28 parser = optparse.OptionParser(usage='Usage: %prog [options] device_port '
28 'host_port [device_port_2 host_port_2] ...', 29 'host_port [device_port_2 host_port_2] ...',
29 description=__doc__) 30 description=__doc__)
30 parser.add_option('-v', 31 parser.add_option('-v',
31 '--verbose', 32 '--verbose',
(...skipping 14 matching lines...) Expand all
46 parser.error('Need even number of port pairs') 47 parser.error('Need even number of port pairs')
47 sys.exit(1) 48 sys.exit(1)
48 49
49 try: 50 try:
50 port_pairs = map(int, args[1:]) 51 port_pairs = map(int, args[1:])
51 port_pairs = zip(port_pairs[::2], port_pairs[1::2]) 52 port_pairs = zip(port_pairs[::2], port_pairs[1::2])
52 except ValueError: 53 except ValueError:
53 parser.error('Bad port number') 54 parser.error('Bad port number')
54 sys.exit(1) 55 sys.exit(1)
55 56
56 devices = device_utils.DeviceUtils.HealthyDevices() 57 devices = device_utils.DeviceUtils.HealthyDevices()
Sami 2015/05/13 12:58:51 Just a thought: what if HealthyDevices (or some ne
jbudorick 2015/05/13 21:49:29 I tried that out, but I wasn't crazy about the int
57 58
58 if options.device: 59 if options.device:
59 if options.device not in [str(d) for d in devices]: 60 device = next((d for d in devices if d == options.device), None)
60 raise Exception('Error: %s not in attached devices %s' % (options.device, 61 if not device:
61 ','.join(devices))) 62 raise device_errors.DeviceUnreachableError(options.device)
62 devices = [options.device] 63 elif devices:
64 device = devices[0]
65 logging.info('No device specified. Defaulting to %s', devices[0])
63 else: 66 else:
64 if not devices: 67 raise device_errors.NoDevicesError()
65 raise Exception('Error: no connected devices')
66 logging.info('No device specified. Defaulting to %s', devices[0])
67 68
68 device = devices[0]
69 constants.SetBuildType(options.build_type) 69 constants.SetBuildType(options.build_type)
70 try: 70 try:
71 forwarder.Forwarder.Map(port_pairs, device) 71 forwarder.Forwarder.Map(port_pairs, device)
72 while True: 72 while True:
73 time.sleep(60) 73 time.sleep(60)
74 except KeyboardInterrupt: 74 except KeyboardInterrupt:
75 sys.exit(0) 75 sys.exit(0)
76 finally: 76 finally:
77 forwarder.Forwarder.UnmapAllDevicePorts(device) 77 forwarder.Forwarder.UnmapAllDevicePorts(device)
78 78
79 if __name__ == '__main__': 79 if __name__ == '__main__':
80 main(sys.argv) 80 main(sys.argv)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698