On Tue, Dec 29, 2009 at 23:47, Marius Gedminas <marius@gedmin.as> wrote:
I don't know enough about the differences between stdlib's doctest.py (in its various Python 2.4/2.5/2.6 incarnations) and zope.testing.doctest, other than that I've seen diffs, they were non-trivial, with bugfixes and new features; I've heard about monkey-patching the stdlib's doctest.py (which fills me with dread; when exactly is the monkey-patching performed?), and I'd rather not touch the issue without either complete understanding or a very large test suite (all of the packages that were in the Zope 3 KGS at the very least) run on various platforms.
zope.testing runs a lot of doctests. Lot's and lot's. In the Python 3 branch I've moved them over to using stdlibs doctest. There was two bugs that are fixed in Zopes doctest that is not fixed in Pythons doctest. I've added monkey-patches on import for them. Obviously they should also be reported upstream, but new releases won't remove the bugs in old releases, so the monkey patches need to stay anyway. The alternative to this is that somebody port zopes doctest.py to Python 3, so we don't deprecate it but keep it separate, for ever adding to the frustration and complication in doing testing and in particular doctesting that persists.
* custom doctest exception formatting
What does that formatting actually do?
* support for the INTERPRET_FOOTNOTES feature
Then they should use Manuel. I find it highly unlikely that this feature will make it into stdlib.
and since zope.testing.doctest still reimplements large bits of doctest, I don't know what other bugfixes might be lost too (like the universal newline thing that punishes people for daring to release packages from Windows machines).
There's no test for that one, so I didn't know about it. I think the problem with having a sperate doctest.py is evident in the fact that there has been bugs fixed for *years* but not moved upstream. The custom doctest was there to support Python 3, and nothing else. Now it's become it's own creature, and that's very bad.
Overall, I'm still -1 for deprecating zope.testing.doctest at this point. A PendingDeprecationWarning would be more appropriate, IMHO.
That will just leave less time between people getting warned and before it gets removed. I must say I find PendingDeprecationWarnings completely and utterly pointless. -- Lennart Regebro: Python, Zope, Plone, Grok http://regebro.wordpress.com/ +33 661 58 14 64