[Grok-dev] grok mini-sprint conclusions

Martijn Faassen faassen at startifact.com
Thu Jan 21 15:32:01 EST 2010

Hi there,

Since this was a mini-sprint, it's definitely over too soon.

The goal:

Free Grok from most of zope.app.*. We believe what's keeping most of it 
alive is zope.app.zcmlfiles and zope.app.testing, so those two need to 
go. Remain will zope.app.wsgi, zope.app.publication and 
zope.app.appsetup, and perhaps a few others we haven't found out about yet.

The goal is therefore to free these three from dependencies on 
app.zcmlfiles and app.testing.

Here's what we've done and what remains to be done:

Since we wanted to navigate around the complex dependency-pulling mess 
of zope.app.testing, we've worked on testing infrastructure.

We've added some infrastructure to zope.component in testlayer that 
helps set up test layers in a way that can be built on somewhat. The 
idea is to just load the ZCML you need from the test layer, without it 
initializing all kinds of stuff in all kinds of other ways.

In zope.app.wsgi, we have built (but not yet checked in, I believe) 
functionality on top of this basic testlayer which reproduces the
behavior of zope.testbrowser's Browser, but using WSGI, using 
wsgi_intercept. It still remains to be freed of zope.app.zcmlfiles and 
zope.app.testing at this point.

We've freed zope.app.appsetup from zope.app.testing and zope.app.zcmlfiles.

We still need to free zope.app.publication from app.testing and 
app.zcmlfiles as well. We have however done some of the required work 
there, getting rid of the dependency on zope.app.testing.ztapi.

We have demonstrated a grokcore.view that runs tests against the 
experimental WSGI-based testbrowser. We've also demonstrated 
grokcore.view that doesn't use zope.app.zcmlfiles but loads a ton of 
dependencies itself instead. We need to put it both together (and 
actually move the browser-based tests to an integration package, like 
Grok proper).

Hopefully we can continue with these tasks for the next few weeks and 
make good progress.



More information about the Grok-dev mailing list