blob: d9a06628f2b07cb90f5bb6d5dbdbbb11c46d324a [file] [log] [blame]
#!/usr/bin/python
import optparse
import sys
import time
import adbutil
from devices import DEVICES
def parse_options(argv):
usage = 'Usage: %prog [options]'
desc = 'Example: %prog'
parser = optparse.OptionParser(usage=usage, description=desc)
parser.add_option("-c", dest='clear', action="store_true")
parser.add_option("-d", dest='device', action="store",)
parser.add_option("-t", dest='trace', action="store_true")
options, categories = parser.parse_args(argv[1:])
return (options, categories)
def clear_data(device = None):
if device != None:
dev = DEVICES[device]
adbutil.root(dev)
adbutil.pm(dev, "clear", "com.android.benchmark")
else:
for name, dev in DEVICES.iteritems():
print("Clearing " + name)
adbutil.root(dev)
adbutil.pm(dev, "clear", "com.android.benchmark")
def start_device(name, dev):
print("Go " + name + "!")
try:
adbutil.am(dev, "force-stop", "com.android.benchmark")
adbutil.wake(dev)
adbutil.am(dev, "start",
["-n", "\"com.android.benchmark/.app.RunLocalBenchmarksActivity\"",
"--eia", "\"com.android.benchmark.EXTRA_ENABLED_BENCHMARK_IDS\"", "\"0,1,2,3,4,5,6\"",
"--ei", "\"com.android.benchmark.EXTRA_RUN_COUNT\"", "\"5\""])
except adbutil.AdbError:
print "Couldn't launch " + name + "."
def start_benchmark(device, trace):
if device != None:
start_device(device, DEVICES[device])
if trace:
time.sleep(3)
adbutil.trace(DEVICES[device])
else:
if trace:
print("Note: -t only valid with -d, can't trace")
for name, dev in DEVICES.iteritems():
start_device(name, dev)
def main():
options, categories = parse_options(sys.argv)
if options.clear:
print options.device
clear_data(options.device)
else:
start_benchmark(options.device, options.trace)
if __name__ == "__main__":
main()