# HG changeset patch # User Frederic Bastien # Date 1212774782 14400 # Node ID 23981827b7942ed470b744cc9d4b3f0028f25bcf # Parent 8e923cb2e8fcefc815c334612a54162dbe32eba1 add autotest.py. It run all unittest diff -r 8e923cb2e8fc -r 23981827b794 autotest.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/autotest.py Fri Jun 06 13:53:02 2008 -0400 @@ -0,0 +1,54 @@ +import unittest, os, sys, traceback + +def test_root_dir(debugmode=False): + suite = None + filenames = os.listdir('.') + for filename in filenames: + if filename[-3:] == '.py' and filename.startswith('_test'): + #print >>sys.stderr, 'Loading', modname + modname = filename[0:-3] + + try: + module = __import__(modname) + except Exception, e: + print >>sys.stderr, "====================================================" + print >>sys.stderr, "Failed to load %s.py" % modname + print >>sys.stderr, "====================================================" + traceback.print_exc() + print >>sys.stderr, "====================================================" + continue + + tests = unittest.TestLoader().loadTestsFromModule(module) + if tests.countTestCases() > 0: + print >>sys.stderr, 'Testing', modname + if suite is None: + suite = tests + else: + suite.addTests(tests) + if suite is None: + print >>sys.stderr, "No suite found" + sys.exit(1) + if debugmode: + suite.debug() + else: + unittest.TextTestRunner(verbosity=1).run(suite) + +if __name__ == '__main__': + + def printUsage(): + print >>sys.stderr, "Bad argument: ",sys.argv + print >>sys.stderr, "only --debug is supported" + sys.exit(1) + debugparam="" + + if len(sys.argv)==2: + if sys.argv[1]=="--debug": + debugparam="--debug" + sys.argv.remove(debugparam) + else: + printUsage() + elif len(sys.argv)>2: + printUsage() + + test_root_dir(debugparam!="") +