Added license info to feed
[0publish.git] / tests / testall.py
blob2e128971616f1ea628740f901aa643c1aa5c8663
1 #!/usr/bin/env python
2 import unittest, os, sys
3 for x in ['LANGUAGE', 'LANG']:
4 if x in os.environ:
5 del os.environ[x]
6 try:
7 import coverage
8 coverage.use_cache(False)
9 coverage.erase()
10 coverage.start()
11 except ImportError:
12 coverage = None
14 my_dir = os.path.dirname(sys.argv[0])
15 if not my_dir:
16 my_dir = os.getcwd()
18 if len(sys.argv) > 1:
19 testLoader = unittest.TestLoader()
20 alltests = testLoader.loadTestsFromNames(sys.argv[1:])
21 else:
22 suite_names = [f[:-3] for f in os.listdir(my_dir)
23 if f.startswith('test') and f.endswith('.py')]
24 suite_names.remove('testall')
25 suite_names.sort()
27 alltests = unittest.TestSuite()
29 for name in suite_names:
30 m = __import__(name, globals(), locals(), [])
31 alltests.addTest(m.suite)
33 a = unittest.TextTestRunner(verbosity=2).run(alltests)
35 if coverage:
36 coverage.stop()
37 else:
38 print "Coverage module not found. Skipping coverage report."
40 print "\nResult", a
41 if not a.wasSuccessful():
42 sys.exit(1)
44 if coverage:
45 all_sources = []
46 def incl(d):
47 for x in os.listdir(d):
48 if x.endswith('.py'):
49 all_sources.append(os.path.join(d, x))
50 incl('..')
51 coverage.report(all_sources + ['../0publish'])