On Mon, Dec 7, 2009 at 4:08 PM, Lennart Regebro <regebro@gmail.com> wrote:
For example: Exceptions in Python 3 print out the whole module path of the exception, while in Python 2 it's only the classname: Immediate doctest failure. This is fixable in your doctests by trapping the exception instead, which is what I've done.
You can also use a normalizer. They make dealing with these sorts of inter-Python formatting differences pretty easy.
Efforts to remove doctests failed on the INTERPRET_FOOTNOTES options, which the standard Python doctests doesn't support. A quick search turns out that ZODB, zc.catalog, zc.relation, zc.async, zc.sharing, zc.freeze and lovely.remotetask uses it, maybe more.
Those tests could probably use Manuel's footnote support instead, but that would add one more dependency (Manuel) that would have to be ported to Python 3 -- and I don't have any expectation that I'll be doing that in the near future.
I really think it's a bad idea to have a special version of doctest.py. I think we should get rid of it.
I'd like for them to be unified too, but even ignoring INTERPRET_FOOTNOTES, the two have drifted apart quite a bit. The last time I looked at it I stopped after spending several frustrating hours comparing diffs and trying to get one's tests to run on the other. Maybe you'll have more success than I did. -- Benji York