[Checkins] SVN: zope.testing/branches/wosc-doctest-finder/s snapshot that was lying around in my workingcopy for far too long... I'll probably need to start over anyway when I get a Round Tuit(tm).
Wolfgang Schnerring
wosc at wosc.de
Wed Sep 22 11:30:39 EDT 2010
Log message for revision 116731:
snapshot that was lying around in my workingcopy for far too long... I'll probably need to start over anyway when I get a Round Tuit(tm).
Changed:
U zope.testing/branches/wosc-doctest-finder/setup.py
U zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/doctest.py
U zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/runner.py
U zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-doctestfinder.txt
A zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-ex/doctest.txt
-=-
Modified: zope.testing/branches/wosc-doctest-finder/setup.py
===================================================================
--- zope.testing/branches/wosc-doctest-finder/setup.py 2010-09-22 14:34:36 UTC (rev 116730)
+++ zope.testing/branches/wosc-doctest-finder/setup.py 2010-09-22 15:30:39 UTC (rev 116731)
@@ -28,6 +28,7 @@
extra = dict(
namespace_packages=['zope',],
install_requires = ['setuptools',
+ 'zope.dottedname',
'zope.exceptions',
'zope.interface'],
entry_points = {'console_scripts': ['zope-testrunner = zope.testing.testrunner:run',]},
Modified: zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/doctest.py
===================================================================
--- zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/doctest.py 2010-09-22 14:34:36 UTC (rev 116730)
+++ zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/doctest.py 2010-09-22 15:30:39 UTC (rev 116731)
@@ -17,8 +17,13 @@
"""
from zope.testing import doctest
+from zope.testing.testrunner.find import (
+ name_from_layer, test_dirs, walk_with_symlinks)
+import os.path
import re
+import zope.dottedname.resolve
import zope.testing.testrunner.feature
+import zope.testing.testrunner.layer
class DocTest(zope.testing.testrunner.feature.Feature):
@@ -59,13 +64,36 @@
active = True
def global_setup(self):
- tests = self._find_doctest_files()
- #self.runner.register_tests(tests)
+ unittest_layer = name_from_layer(
+ zope.testing.testrunner.layer.UnitTests)
+ tests = {}
+ for (package, testfile, factory) in self._find_doctest_files():
+ test = factory(testfile, package=package)
+ layer = getattr(test, 'layer', unittest_layer)
+ tests[layer] = test
+ self.runner.register_tests(tests)
def _find_doctest_files(self):
- pass
+ options = self.runner.options
+ for (path, given_package) in test_dirs(options, {}):
+ for dirname, dirs, files in walk_with_symlinks(options, path):
+ if given_package:
+ package = given_package
+ else:
+ package = dirname.replace(path + os.path.sep, '')
+ package = package.replace(os.path.sep, '.')
+ for f in files:
+ if options.doctests_pattern(f):
+ f = os.path.join(dirname, f)
+ factory = parse_directive_from_file('testcase', f)
+ if not factory:
+ continue
+ factory = zope.dottedname.resolve.resolve(factory)
+ yield (package, f, factory)
+
+
def parse_directive_from_string(directive, text):
"""Looks for a reST directive in a string.
Modified: zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/runner.py
===================================================================
--- zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/runner.py 2010-09-22 14:34:36 UTC (rev 116730)
+++ zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/runner.py 2010-09-22 15:30:39 UTC (rev 116731)
@@ -189,6 +189,7 @@
zope.testing.testrunner.garbagecollection.Debug(self))
self.features.append(zope.testing.testrunner.find.Find(self))
+ self.features.append(zope.testing.testrunner.doctest.DocFileFind(self))
self.features.append(zope.testing.testrunner.process.SubProcess(self))
self.features.append(zope.testing.testrunner.filter.Filter(self))
self.features.append(zope.testing.testrunner.listing.Listing(self))
Modified: zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-doctestfinder.txt
===================================================================
--- zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-doctestfinder.txt 2010-09-22 14:34:36 UTC (rev 116730)
+++ zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-doctestfinder.txt 2010-09-22 15:30:39 UTC (rev 116731)
@@ -69,10 +69,14 @@
>>> directory_with_tests = os.path.join(this_directory, 'testrunner-ex')
>>> defaults = [
... '--path', directory_with_tests,
- ... '--tests-pattern', '^sampletestsf?$',
+ ... '--tests-pattern', '^nothing$',
... '--doctests-pattern', '\.txt$',
+ ... '--list-tests'
... ]
>>> sys.argv = 'test -u'.split()
>>> from zope.testing import testrunner
>>> testrunner.run_internal(defaults)
+ Listing zope.testing.testrunner.layer.UnitTests tests:
+ /home/wosc/gocept/zope/zope.testing/src/zope/testing/doctest.txt
+ False
Added: zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-ex/doctest.txt
===================================================================
--- zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-ex/doctest.txt (rev 0)
+++ zope.testing/branches/wosc-doctest-finder/src/zope/testing/testrunner/testrunner-ex/doctest.txt 2010-09-22 15:30:39 UTC (rev 116731)
@@ -0,0 +1,10 @@
+.. testcase:: zope.testing.doctest.DocFileSuite
+
+=================
+ Doctest example
+=================
+
+This file should be picked up automatically by the DocFileFind feature.
+
+>>> 1 + 1
+2
More information about the checkins
mailing list