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 import argparse | 9 import argparse |
10 import sys | 10 import sys |
11 | 11 |
| 12 from pylib.device import device_blacklist |
12 from pylib.device import device_utils | 13 from pylib.device import device_utils |
13 | 14 |
14 | 15 |
15 def main(): | 16 def main(): |
16 parser = argparse.ArgumentParser() | 17 parser = argparse.ArgumentParser() |
17 | 18 |
| 19 parser.add_argument('--blacklist-file', help='Device blacklist JSON file.') |
| 20 |
18 set_asserts_group = parser.add_mutually_exclusive_group(required=True) | 21 set_asserts_group = parser.add_mutually_exclusive_group(required=True) |
19 set_asserts_group.add_argument( | 22 set_asserts_group.add_argument( |
20 '--enable_asserts', dest='set_asserts', action='store_true', | 23 '--enable_asserts', dest='set_asserts', action='store_true', |
21 help='Sets the dalvik.vm.enableassertions property to "all"') | 24 help='Sets the dalvik.vm.enableassertions property to "all"') |
22 set_asserts_group.add_argument( | 25 set_asserts_group.add_argument( |
23 '--disable_asserts', dest='set_asserts', action='store_false', | 26 '--disable_asserts', dest='set_asserts', action='store_false', |
24 help='Removes the dalvik.vm.enableassertions property') | 27 help='Removes the dalvik.vm.enableassertions property') |
25 | 28 |
26 args = parser.parse_args() | 29 args = parser.parse_args() |
27 | 30 |
| 31 if args.blacklist_file: |
| 32 blacklist = device_blacklist.Blacklist(args.blacklist_file) |
| 33 else: |
| 34 blacklist = None |
| 35 |
28 # TODO(jbudorick): Accept optional serial number and run only for the | 36 # TODO(jbudorick): Accept optional serial number and run only for the |
29 # specified device when present. | 37 # specified device when present. |
30 devices = device_utils.DeviceUtils.parallel() | 38 devices = device_utils.DeviceUtils.parallel( |
| 39 device_utils.DeviceUtils.HealthyDevices(blacklist)) |
31 | 40 |
32 def set_java_asserts_and_restart(device): | 41 def set_java_asserts_and_restart(device): |
33 if device.SetJavaAsserts(args.set_asserts): | 42 if device.SetJavaAsserts(args.set_asserts): |
34 device.RunShellCommand('stop') | 43 device.RunShellCommand('stop') |
35 device.RunShellCommand('start') | 44 device.RunShellCommand('start') |
36 | 45 |
37 devices.pMap(set_java_asserts_and_restart) | 46 devices.pMap(set_java_asserts_and_restart) |
38 return 0 | 47 return 0 |
39 | 48 |
40 | 49 |
41 if __name__ == '__main__': | 50 if __name__ == '__main__': |
42 sys.exit(main()) | 51 sys.exit(main()) |
OLD | NEW |