summaryrefslogtreecommitdiff
path: root/tests/JankBench/scripts/runall.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/JankBench/scripts/runall.py')
-rwxr-xr-xtests/JankBench/scripts/runall.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/JankBench/scripts/runall.py b/tests/JankBench/scripts/runall.py
new file mode 100755
index 000000000000..d9a06628f2b0
--- /dev/null
+++ b/tests/JankBench/scripts/runall.py
@@ -0,0 +1,65 @@
+#!/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()