import optparse import os import sys import urllib2 def run_or_die(cmd): result = os.system(cmd) if (0 != result): print 'Command "%s" failed with code %i' %(cmd, result) sys.exit(result) def setup_figleaf(): if (not os.path.exists('figleaf-latest')): print "Downloading figleaf..." data = urllib2.urlopen('http://darcs.idyll.org/~t/projects/figleaf-latest.tar.gz') file('figleaf-latest.tar.gz', 'w').write(data.read()) run_or_die('tar xzf figleaf-latest.tar.gz') def run_tests(options): print "Running tests..." os.system('%s figleaf-latest/bin/figleaf ../../Lib/test/regrtest.py %s' %(sys.executable, " ".join(options))) def generate_output(): print "Generating html..." run_or_die('%s figleaf-latest/bin/figleaf2html -d ../../coverage .figleaf' %sys.executable) def main(): setup_figleaf() run_tests(sys.argv[1:]) generate_output() if __name__ == "__main__": main()