#!/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()