[Python-Dev] doctest, unicode repr, and 2to3 (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Fri Mar 5 05:11:02 CET 2010


Johan Harjano ran into an interesting problem when trying to run the Django test suite under Python 3.1.

Django has doctests of the form

a6.headline u'Default headline'

Even when converting the doctest with 2to3, the expected output is unmodified. However, in 3.x, the expected output will change (i.e. not produce an u"" prefix anymore).

Now, it might be possible to reformulate the test case (e.g. use print() instead of relying on repr), however, this is undesirable as a) the test should continue to test in 2.x that the result object is a unicode string, and b) it makes the test less readable.

I would like to find a solution where this gets automatically corrected, e.g. through 2to3, or through changes to doctest, or through changes of str.repr.

Any proposal appreciated.

Regards, Martin



More information about the Python-Dev mailing list