OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 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 """Enables dalvik vm asserts in the android device.""" | 7 """Enables dalvik vm asserts in the android device.""" |
8 | 8 |
9 from pylib import android_commands | 9 import argparse |
10 from pylib.device import device_utils | |
11 import optparse | |
12 import sys | 10 import sys |
13 | 11 |
| 12 from pylib.device import device_utils |
14 | 13 |
15 def main(argv): | 14 |
16 option_parser = optparse.OptionParser() | 15 def main(): |
17 option_parser.add_option('--enable_asserts', dest='set_asserts', | 16 parser = argparse.ArgumentParser() |
18 action='store_true', default=None, | 17 |
| 18 set_asserts_group = parser.add_mutually_exclusive_group(required=True) |
| 19 set_asserts_group.add_argument( |
| 20 '--enable_asserts', dest='set_asserts', action='store_true', |
19 help='Sets the dalvik.vm.enableassertions property to "all"') | 21 help='Sets the dalvik.vm.enableassertions property to "all"') |
20 option_parser.add_option('--disable_asserts', dest='set_asserts', | 22 set_asserts_group.add_argument( |
21 action='store_false', default=None, | 23 '--disable_asserts', dest='set_asserts', action='store_false', |
22 help='Removes the dalvik.vm.enableassertions property') | 24 help='Removes the dalvik.vm.enableassertions property') |
23 options, _ = option_parser.parse_args(argv) | 25 |
| 26 args = parser.parse_args() |
24 | 27 |
25 # TODO(jbudorick): Accept optional serial number and run only for the | 28 # TODO(jbudorick): Accept optional serial number and run only for the |
26 # specified device when present. | 29 # specified device when present. |
27 devices = android_commands.GetAttachedDevices() | 30 devices = device_utils.DeviceUtils.parallel() |
28 for device in [device_utils.DeviceUtils(serial) for serial in devices]: | 31 |
29 if options.set_asserts != None: | 32 def set_java_asserts_and_restart(device): |
30 if device.SetJavaAsserts(options.set_asserts): | 33 if device.SetJavaAsserts(args.set_asserts): |
31 # TODO(jbudorick) How to best do shell restarts after the | 34 device.RunShellCommand('stop') |
32 # android_commands refactor? | 35 device.RunShellCommand('start') |
33 device.RunShellCommand('stop') | 36 |
34 device.RunShellCommand('start') | 37 devices.pMap(set_java_asserts_and_restart) |
| 38 return 0 |
35 | 39 |
36 | 40 |
37 if __name__ == '__main__': | 41 if __name__ == '__main__': |
38 main(sys.argv) | 42 sys.exit(main()) |
OLD | NEW |