1#!/usr/bin/env python 2import glob 3import os 4import sys 5import unittest 6 7import common 8 9program = None 10if len(sys.argv) == 3: 11 buildDir = sys.argv[1] 12 srcDir = sys.argv[2] 13else: 14 if len(sys.argv) == 2: 15 program = sys.argv[1] 16 if program.endswith('.py'): 17 program = program[:-3] 18 buildDir = '..' 19 srcDir = '.' 20 21common.importModules(buildDir=buildDir, 22 srcDir=srcDir) 23 24SKIP_FILES = ['common', 'runtests', 'testmodule'] 25 26dir = os.path.split(os.path.abspath(__file__))[0] 27os.chdir(dir) 28 29def gettestnames(): 30 files = glob.glob('*.py') 31 names = map(lambda x: x[:-3], files) 32 map(names.remove, SKIP_FILES) 33 return names 34 35suite = unittest.TestSuite() 36loader = unittest.TestLoader() 37 38for name in gettestnames(): 39 if program and program not in name: 40 continue 41 suite.addTest(loader.loadTestsFromName(name)) 42 43testRunner = unittest.TextTestRunner() 44testRunner.run(suite) 45