diff --git a/all_builds.py b/all_builds.py new file mode 100755 index 0000000000000000000000000000000000000000..765086528ec97081072f89f932c61e0386cbbf41 --- /dev/null +++ b/all_builds.py @@ -0,0 +1,43 @@ +#!/usr/bin/python + +import subprocess +import sys + +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(): + base_command = "./configure --enable-internal-stats" + test_build(base_command) + for experiment_name in list_of_experiments(): + test_build("%s --enable-experimental --enable-%s" % (base_command, + experiment_name)) + +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()