| #!/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.""" |
| |
| import argparse |
| import sys |
| |
| from pylib.device import device_utils |
| |
| |
| def main(): |
| parser = argparse.ArgumentParser() |
| |
| set_asserts_group = parser.add_mutually_exclusive_group(required=True) |
| set_asserts_group.add_argument( |
| '--enable_asserts', dest='set_asserts', action='store_true', |
| help='Sets the dalvik.vm.enableassertions property to "all"') |
| set_asserts_group.add_argument( |
| '--disable_asserts', dest='set_asserts', action='store_false', |
| help='Removes the dalvik.vm.enableassertions property') |
| |
| args = parser.parse_args() |
| |
| # TODO(jbudorick): Accept optional serial number and run only for the |
| # specified device when present. |
| devices = device_utils.DeviceUtils.parallel() |
| |
| def set_java_asserts_and_restart(device): |
| if device.SetJavaAsserts(args.set_asserts): |
| device.RunShellCommand('stop') |
| device.RunShellCommand('start') |
| |
| devices.pMap(set_java_asserts_and_restart) |
| return 0 |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |