diff options
author | John Koleszar <jkoleszar@google.com> | 2012-08-21 11:18:58 -0700 |
---|---|---|
committer | John Koleszar <jkoleszar@google.com> | 2012-08-21 11:18:58 -0700 |
commit | b878b5567bb3d6ebd76a557f0cc76557a47f12e4 (patch) | |
tree | e6ea68aa58f3a7ee21a07215aec613c0254c5140 /tools | |
parent | 778393cfd2d186f9fe771218da9e42ad1eda109b (diff) | |
download | libvpx-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-x | tools/all_builds.py | 60 |
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) |