41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
#!/usr/bin/env python
|
|
import glob, unittest, os, sys
|
|
|
|
from trace import fullmodname
|
|
try:
|
|
from tests.utils import cleanup
|
|
except:
|
|
def cleanup():
|
|
pass
|
|
|
|
sys.path.insert(0, os.getcwd())
|
|
|
|
def build_suite(folder):
|
|
# find all of the test modules
|
|
modules = map(fullmodname, glob.glob(os.path.join(folder, 'test_*.py')))
|
|
print "Running the tests found in the following modules:"
|
|
print modules
|
|
|
|
# load all of the tests into a suite
|
|
try:
|
|
return unittest.TestLoader().loadTestsFromNames(modules)
|
|
except Exception, exception:
|
|
# attempt to produce a more specific message
|
|
for module in modules:
|
|
__import__(module)
|
|
raise
|
|
|
|
verbosity = 1
|
|
if "-q" in sys.argv or '--quiet' in sys.argv:
|
|
verbosity = 0
|
|
if "-v" in sys.argv or '--verbose' in sys.argv:
|
|
verbosity = 2
|
|
|
|
unit_tests = build_suite('tests')
|
|
functional_tests = build_suite('functional_tests')
|
|
|
|
# run test suites
|
|
unittest.TextTestRunner(verbosity=verbosity).run(unit_tests)
|
|
unittest.TextTestRunner(verbosity=verbosity).run(functional_tests)
|
|
cleanup()
|