[Zope-dev] Avoid deprecation warnings in the testrunner
Fabio Tranchitella
kobold at kobold.it
Fri Dec 25 01:49:38 EST 2009
* 2009-12-25 07:32, Lennart Regebro wrote:
> On Thu, Dec 24, 2009 at 14:50, Fabio Tranchitella <kobold at kobold.it> wrote:
> > I don't think we can avoid the error, and to be honest I consider the code
> > in zope.minmax to be wrong.
> >
> > """
> > import zope.testing
> > x = zope.testing.doctest.DocTestFile(...
> > """
> >
> > The import is wrong
>
> No, that's perferctly correct code and not wrong in any way.
It is not wrong from a syntax point of view, but it is wrong because it
assumes doctest is a sub-module and not a sub-package. As said here:
http://docs.python.org/tutorial/modules.html#packages
It would have been perfect to write:
import zope.testing.doctest
... avoiding the "embedded" design decision that doctest is a sub-module.
Anyway, I'm happy with whatever fix we apply, as long as we find a way to
not rise the deprecation warning just after an import of zope.testing or a
run of the testrunner.
> What if we hide the warning during the __init__.py import. Will it
> show up the next time, then?
No, because modules/packages are imported only once.
> Maybe we can add deprecations only for the major names in doctest.py?
> That would still raise an error everytime you use it, but only when you
> import a name, not the module.
I thought we deprecated the whole zope.testing.doctest.
Best regards, and Merry Christmas.
Fabio
More information about the Zope-Dev
mailing list