summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2012-08-21 11:18:58 -0700
committerJohn Koleszar <jkoleszar@google.com>2012-08-21 11:18:58 -0700
commitb878b5567bb3d6ebd76a557f0cc76557a47f12e4 (patch)
treee6ea68aa58f3a7ee21a07215aec613c0254c5140 /tools
parent778393cfd2d186f9fe771218da9e42ad1eda109b (diff)
downloadlibvpx-b878b5567bb3d6ebd76a557f0cc76557a47f12e4.tar.gz
libvpx-b878b5567bb3d6ebd76a557f0cc76557a47f12e4.tar.bz2
libvpx-b878b5567bb3d6ebd76a557f0cc76557a47f12e4.zip
all_builds.py: move to tools/
Change-Id: I64c470fb5a4f32a862cfb5424fb95baac47fcc24
Diffstat (limited to 'tools')
-rwxr-xr-xtools/all_builds.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/all_builds.py b/tools/all_builds.py
new file mode 100755
index 000000000..b2bab7300
--- /dev/null
+++ b/tools/all_builds.py
@@ -0,0 +1,60 @@
+#!/usr/bin/python
+
+import getopt
+import subprocess
+import sys
+
+LONG_OPTIONS = ["shard=", "shards="]
+BASE_COMMAND = "./configure --enable-internal-stats --enable-experimental"
+
+def RunCommand(command):
+ run = subprocess.Popen(command, shell=True)
+ output = run.communicate()
+ if run.returncode:
+ print "Non-zero return code: " + str(run.returncode) + " => exiting!"
+ sys.exit(1)
+
+def list_of_experiments():
+ experiments = []
+ configure_file = open("configure")
+ list_start = False
+ for line in configure_file.read().split("\n"):
+ if line == 'EXPERIMENT_LIST="':
+ list_start = True
+ elif line == '"':
+ list_start = False
+ elif list_start:
+ currently_broken = ["csm"]
+ experiment = line[4:]
+ if experiment not in currently_broken:
+ experiments.append(experiment)
+ return experiments
+
+def main(argv):
+ # Parse arguments
+ options = {"--shard": 0, "--shards": 1}
+ o, _ = getopt.getopt(argv[1:], None, LONG_OPTIONS)
+ options.update(o)
+
+ # Shard experiment list
+ shard = int(options["--shard"])
+ shards = int(options["--shards"])
+ experiments = list_of_experiments()
+ configs = [BASE_COMMAND]
+ configs += ["%s --enable-%s" % (BASE_COMMAND, e) for e in experiments]
+ my_configs = zip(configs, range(len(configs)))
+ my_configs = filter(lambda x: x[1] % shards == shard, my_configs)
+ my_configs = [e[0] for e in my_configs]
+
+ # Run configs for this shard
+ for config in my_configs:
+ test_build(config)
+
+def test_build(configure_command):
+ print "\033[34m\033[47mTesting %s\033[0m" % (configure_command)
+ RunCommand(configure_command)
+ RunCommand("make clean")
+ RunCommand("make")
+
+if __name__ == "__main__":
+ main(sys.argv)