[Python-Dev] 'warnings' module changes still breaking Twisted, still looking for a fix
musiccomposition at gmail.com
Fri Sep 5 00:18:11 CEST 2008
On Thu, Sep 4, 2008 at 5:11 PM, <glyph at divmod.com> wrote:
> With the 2.6 final release impending, the Twisted community buildbot is
> still red, <http://bit.ly/zFymN>, but there only seems to be one real issue:
> the warn_explicit change. This seems like it could be a pretty minor bit of
> maintenance to clear up on our end, if Python provided the appropriate hook.
> The current solution we have in mind for this problem is to build our own
> warnings module <http://bit.ly/4F3Qr2>, but that is obviously inelegant.
> While we do want to experiment with our own features for deprecation, users
> of Twisted will (rightfully) expect our "assertWarns" to continue covering
> warnings produced by the Python 2.6 warnings system.
> The proposed solution to this problem seems to have been
> "warnings.catch_warnings()" <http://bugs.python.org/issue3602>, but it is
> insufficient for testing, since subsequent calls to "catch_warnings()" will
> not catch warnings suppressed by duplication suppression; without even
> getting into multiple tests testing the same code path, this breaks features
> like our 'trial' tool's "--until- failure" option, which runs a fixed group
> of tests repeatedly in an attempt to flush out buggy tests which have race
> conditions that cause them to fail intermittently.
That's why catch_warning keeps track of the warnings filter too, so
you can call warnings.simplefilter("always") within the context
manager and the filter state will be restored.
> We thought we'd filed a ticket for this before, but searching around in the
> issue tracker hasn't come up with anything. JP Calderone has filed a new
> ticket for this problem: <http://bugs.python.org/issue3780> .
> Any chance this could be made into a release blocker? If this one issue
> were fixed, Python 2.6 would be the smallest disruption to Twisted since
> Python 2.0 :-).
> Python-Dev mailing list
> Python-Dev at python.org
"There's no place like 127.0.0.1."
More information about the Python-Dev