1 #!/usr/bin/env python 2 # 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 5 # found in the LICENSE file. 6 7 """Enables dalvik vm asserts in the android device.""" 8 9 from pylib import android_commands 10 from pylib.device import device_utils 11 import optparse 12 import sys 13 14 15 def main(argv): 16 option_parser = optparse.OptionParser() 17 option_parser.add_option('--enable_asserts', dest='set_asserts', 18 action='store_true', default=None, 19 help='Sets the dalvik.vm.enableassertions property to "all"') 20 option_parser.add_option('--disable_asserts', dest='set_asserts', 21 action='store_false', default=None, 22 help='Removes the dalvik.vm.enableassertions property') 23 options, _ = option_parser.parse_args(argv) 24 25 # TODO(jbudorick): Accept optional serial number and run only for the 26 # specified device when present. 27 devices = android_commands.GetAttachedDevices() 28 for device in [device_utils.DeviceUtils(serial) for serial in devices]: 29 if options.set_asserts != None: 30 if device.SetJavaAsserts(options.set_asserts): 31 # TODO(jbudorick) How to best do shell restarts after the 32 # android_commands refactor? 33 device.RunShellCommand('stop') 34 device.RunShellCommand('start') 35 36 37 if __name__ == '__main__': 38 main(sys.argv) 39