dft_tools/test/plovasp/run_suite.py

35 lines
1.1 KiB
Python

r"""
Searches and runs all available test suites.
"""
import unittest
import sys
if __name__ == '__main__':
if len(sys.argv) == 1:
suite = unittest.TestLoader().discover('./')
else:
suite = unittest.TestLoader().discover(sys.argv[1] + '/')
# def list_tests(suite):
# for test in suite:
# if isinstance(test, unittest.TestSuite):
# list_tests(test)
# elif isinstance(test, unittest.TestCase):
## print test.__class__.__bases__
# tmp = test.__str__().split()
# test_method, test_class = tmp[0], tmp[1]
# test_class = test_class.strip('()')
# print test_class + '.' + test_method
# list_tests(suite)
results = unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)
# unittest.TextTestRunner(verbosity=2, buffer=False).run(suite)
if results.wasSuccessful():
raise SystemExit(0)
else:
print "Failed tests:"
for failure in results.failures:
print failure[0].__str__()
raise SystemExit(1)