On Tue, Dec 29, 2009 at 04:04:34PM +0000, Chris Withers wrote:
> I hate DeprecationWarnings at the best of times, since no one actually 
> does anything about them until whatever they're bleating about is 
> actually gone anyway, but zope.testing has outdone itself.

Some background, because you're obviously not following all the threads
currently active on zope-dev (nobody can!):

  * there was a zope.testing 3.8.4 release that dropped some "unused
    imports" from zope.testing.doctestunit

  * that turned out to break many things, including zope.container and
    (according to some reports) zope.interface

  * there were changes made to zope.testing trunk, backpedaling a bit and
    adding those legacy imports back, with a deprecation warning for the
    whole zope.testing.doctestunit, and (for good measure) a deprecation
    warning for zope.testing.doctest.

  * I released zope.testing 3.8.5 with the deprecation warning (which turned
    out to be triggered by zope.testing itself, making the warning quite
    useless) because I thought having a spurious warning is better than
    having broken zope.interface

  * I then had to release zope.testing 3.8.6 because the 3.8.5 egg was
    broken (thank you setuptools for the sudden but inevitable stab in
    the back)

  * Fabio Tranchitella is working to make the zope.testing.doctest
    deprecation warning useful by doing scary things like converting
    zope.testing.doctest from a module into a package that has all the
    code in __init__.py.  He asked for a review of his changes.  I'm too
    scared to do that.

  * Meanwhile there are discussions about issues switching from old
    zope.testing.doctest to stdlib's doctest with Windows and newlines.

  * I'd rather revert back the state of things as
    of zope.testing 3.8.4 with the legacy zope.testing.doctestunit
    imports added back and a single deprecation warning for
    zope.testing.doctestunit, until we figure out the difficult part:
    what to do with zope.testing.doctest itself.


> Whoever introduced that warning, if you're going to do so, please solve 
> any problems with code in the actual package itself before releasing.
> zope.testing.testrunner.debug imports doctest from zope.testing and so 
> bleats whenever tests are run with zope.testing 3.8.6.
> Why was 3.8.6 released when it still emits these warnings itself?

Because 3.8.5 broke running code.

Why was 3.8.5 released when it broke running code?  Because there were
no comments explaining that those "unused imports" were part of the API,
and no buildbots to give a timely warning about unexpected breakage of
other packages.

Welcome to the wonderful world of non-monolithic Zope 3.  Fasten your
seat-belt, it could get bumpy.

Marius Gedminas
http://pov.lt/ -- Zope 3 consulting and development

Attachment: signature.asc
Description: Digital signature

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to