blob: 8dd44f1901b32746a26931eb491e781fcd0cefef [file] [log] [blame]
#!/usr/bin/env python
#
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Enables dalvik vm asserts in the android device."""
from pylib import android_commands
from pylib.device import device_utils
import optparse
import sys
def main(argv):
option_parser = optparse.OptionParser()
option_parser.add_option('--enable_asserts', dest='set_asserts',
action='store_true', default=None,
help='Sets the dalvik.vm.enableassertions property to "all"')
option_parser.add_option('--disable_asserts', dest='set_asserts',
action='store_false', default=None,
help='Removes the dalvik.vm.enableassertions property')
options, _ = option_parser.parse_args(argv)
# TODO(jbudorick): Accept optional serial number and run only for the
# specified device when present.
devices = android_commands.GetAttachedDevices()
for device in [device_utils.DeviceUtils(serial) for serial in devices]:
if options.set_asserts != None:
if device.old_interface.SetJavaAssertsEnabled(options.set_asserts):
# TODO(jbudorick) How to best do shell restarts after the
# android_commands refactor?
device.RunShellCommand('stop')
device.RunShellCommand('start')
if __name__ == '__main__':
main(sys.argv)