33 lines
956 B
Python
33 lines
956 B
Python
import os
|
|
import re
|
|
import doctest
|
|
import unittest
|
|
import eventlet
|
|
|
|
base = os.path.dirname(eventlet.__file__)
|
|
modules = set()
|
|
|
|
for path, dirs, files in os.walk(base):
|
|
package = 'eventlet' + path.replace(base, '').replace('/', '.')
|
|
modules.add((package, os.path.join(path, '__init__.py')))
|
|
for f in files:
|
|
module = None
|
|
if f.endswith('.py'):
|
|
module = f[:-3]
|
|
if module:
|
|
modules.add((package + '.' + module, os.path.join(path, f)))
|
|
|
|
suite = unittest.TestSuite()
|
|
tests_count = 0
|
|
modules_count = 0
|
|
for m, path in modules:
|
|
if re.search('^\s*>>> ', open(path).read(), re.M):
|
|
s = doctest.DocTestSuite(m)
|
|
print '%s (from %s): %s tests' % (m, path, len(s._tests))
|
|
suite.addTest(s)
|
|
modules_count += 1
|
|
tests_count += len(s._tests)
|
|
print 'Total: %s tests in %s modules' % (tests_count, modules_count)
|
|
runner = unittest.TextTestRunner(verbosity=2)
|
|
runner.run(suite)
|