Rev 72 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/usr/bin/env pythonimport osimport randomimport cStringIOimport parseinputimport tallyimport votedef testfile(dirpath, filename):print filename + ":",tally.fdOut = cStringIO.StringIO()filenameCSV = os.path.join(dirpath, filename)filenameOut = os.path.splitext(filenameCSV)[0] + ".out"nWinners, ballots = parseinput.parsefile(filenameCSV)random.seed(1)vote.doparallel(nWinners, ballots)result = tally.fdOut.getvalue()if os.path.isfile(filenameOut):fOut = open(filenameOut)correct = fOut.read()if result == correct:print "OK"else:print "***** MISMATCH *****"print " EXPECTED: '" + correct + "'"print " GOT: '" + result + "'"else:print "***** Creating output for " + filename + ": " + result,fOut = open(filenameOut, "w")fOut.write(result)def main(dir):for dirpath, dirnames, filenames in os.walk(dir):for filename in filenames:if filename.endswith(".csv"):testfile(dirpath, filename)if __name__=="__main__":main("tests")