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.
7 """Enables dalvik vm asserts in the android device."""
9 from pylib
import android_commands
10 from pylib
.device
import device_utils
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
)
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')
37 if __name__
== '__main__':