[Zope3-dev] Re: zope.testbrowser packaging
Philipp von Weitershausen
philipp at weitershausen.de
Sat Sep 15 10:43:53 EDT 2007
Benji York wrote:
> I have a small issue with zope.testbrowser packaging I'd like to get
> some input on. If I were to have started the project today, it would
> likely have been zc.testbrowser, which would have no Zope 3 dependencies
> (or functionality) and zc.testbrowser.zope, which would have, and
> depended on zc.testbrowser. Well, that didn't happen, but there are
> parallels to the current situation that might be informative.
>
> There is a configuration bug in testbrowser that means that unless you
> include the "test" extra, you won't get the Zope 3 dependencies. I
> suspect most people either include that extra, or accidentally include
> the dependencies through other packages. I have two ideas for fixing this:
>
> 1) introduce a "zope" extra that everyone will have to use (basically
> just rename "test" to "zope";
>
> 2) take a lesson from the fictional zc.testbrowser and introduce another
> package (zope.testbrowser.zope) that contains the Zope 3 bits and
> depends on zope.testbrowser.
I think this would be very hard if not impossible to do from a packaging
perspective (declaring zope.testbrowser a namespace package *and* have
it contain things like README, configure.zcml, etc.).
> I think I prefer the second, despite it's strange appearance. Thoughts?
Let's look at this from the beginning. zope.testbrowser contains
a) a reusable, completely Zope-independent test browser
b) integration with zope.app.testing.functional, in other words a test
browser for testing web applications based on zope.publisher.
I think in its current use, zope.testbrowser is *mostly* used as b).
When used as a), I don't think anybody is bothered by the fact that it
might or might not have more dependencies (other than the inconvenience
of having to install more stuff than actually necessary).
So here's what I suggest: Factor out a) to a new package
'zc.testbrowser' (or whatever) and make 'zope.testbrowser', the
remaining b), depend on zc.testbrowser, zope.app.testing and all that
other stuff properly.
That way
- packaging and nomenclature are straight-forward,
- we don't have to break backwards compatibility anywhere,
- people who have used 'zope.testbrowser' because of a) until now won't
experience any problems, even though we should probably tell them to
switch to zc.testbrowser.
--
http://worldcookery.com -- Professional Zope documentation and training
More information about the Zope3-dev
mailing list