Open
Description
(Taken from #199 (comment))
#203 lets most of zopetoolkit's tests run in STRICT_IRO mode. There are a few exceptions:
- ZODB's FileStorage redundantly declares multiple implemented interfaces. The fix is easy:
@implementer(
- IStorage,
IStorageRestoreable,
IStorageIteration,
IStorageUndoable,
but…there's code in @implementer
that attempts to detect things like that which should have caught and corrected it. I don't understand why it didn't work and need to investigate.
- zope.session.http.CookieClientIdManager has a nearly identical issue.
- zope.viewlet and zope.lifecycleevent both have the same issue in README.rst where some object is declared to
@implementer(Interface)
, which is unnecessary and violates strict IRO. Probably the algorithm here that makes an exception for the sake ofplone.app.caching.tests.test_etags
should be aware of strict mode and not make that exception. - zope.location is being hit with DecoratorSpecificationDescriptor produces inconsistent resolution orders zope.proxy#41, which is the same issue zope.container recently fixed (
Provides(cls, providedBy(proxy))
fails whencls
andproxy
overlap incompatibly in their orders). It makes me wonder ifProvides()
should automatically do the same thing that zope.container is currently manually doing?
Metadata
Assignees
Labels
No labels