Mercurial > hg > periprocess
comparison tests/testall.py @ 0:d28351df9a8a
initial commit from http://k0s.org/hg/config/file/tip/python/example/process.py
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Wed, 30 Nov 2016 12:40:25 -0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d28351df9a8a |
---|---|
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 |