0
|
1 #!/usr/bin/env python
|
|
2
|
|
3 """
|
|
4 run all unit tests
|
|
5 """
|
|
6
|
|
7 import os
|
|
8 import sys
|
|
9 import unittest
|
|
10
|
|
11 here = os.path.dirname(os.path.abspath(__file__))
|
|
12
|
|
13 def main(args=sys.argv[1:]):
|
|
14
|
|
15 results = unittest.TestResult()
|
|
16 suite = unittest.TestLoader().discover(here, 'test_*.py')
|
|
17 suite.run(results)
|
|
18 n_errors = len(results.errors)
|
|
19 n_failures = len(results.failures)
|
|
20 print ("Run {} tests ({} failures; {} errors)".format(results.testsRun,
|
|
21 n_failures,
|
|
22 n_errors))
|
|
23 if results.wasSuccessful():
|
|
24 print ("Success")
|
|
25 sys.exit(0)
|
|
26 else:
|
|
27 # print failures and errors
|
|
28 for label, item in (('FAIL', results.failures),
|
|
29 ('ERROR', results.errors)):
|
|
30 if item:
|
|
31 print ("\n{}::\n".format(label))
|
|
32 for index, (i, message) in enumerate(item):
|
|
33 print ('{}) {}:'.format(index, str(i)))
|
|
34 print (message)
|
|
35 sys.exit(1)
|
|
36
|
|
37 if __name__ == '__main__':
|
|
38 main()
|
|
39
|
|
40
|