From 609bd2a0712ee488dd76bb3619aef70343adb304 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Mon, 15 Jun 2009 14:47:01 +0700 Subject: [PATCH] add test__doctests.py --- greentest/test__doctests.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 greentest/test__doctests.py diff --git a/greentest/test__doctests.py b/greentest/test__doctests.py new file mode 100644 index 0000000..da1102c --- /dev/null +++ b/greentest/test__doctests.py @@ -0,0 +1,32 @@ +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)