[Zope-dev] Circular dependency hell.

Tres Seaver tseaver at palladion.com
Sun Apr 18 08:22:00 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Christophe Combelles wrote:
> Tres Seaver a écrit :
>>> So far the main circularity was that everything depended on
>>> zope.testing as a testrunner, zc.buildout for making the development
>>> environment, and zope.testing obviously depended on zope.interface
>>> etc. I solved that by also adding support for setuptools/distributes
>>> testrunner and using that instead. That fixed zope.interface,
>>> zope.event and zope.exception. These modules still have buildout
>>> configurations if you want them, but you don't need buildout anymore.
>>> zope.interface, zope.event and zope.exception can now be developed and
>>> tested with only setuptools, you can run the tests with "python
>>> setup.py test" both under Python 2 and 3.
>> Yay!  That is a big win -- I'd like to see us automate testing this way,
>> so that future development doesn't erode it.  Developing ZTK packages
>> using buildout should be a convenience, not a mandate.
> 
> Depending on setuptools for tests in another evil thing. We should not assume a 
> *setup* tool to be a testrunner, and we should not depend on the behaviour of 
> setuptools to write tests. Setuptools is already doing too many things and Tarek 
> is taking care (with distutils2 and distribute) to cleany separate the 
> functionalities, such as installing, distributing, etc.
> 
> Testing is not related to configuring nor installing, and "python setup.py test" 
> is no more meaningful than "python setup.py makethecoffee".

The developers of the software are not the only folks who run its tests.
 In particular, "downstream" consumers need to run them, too,  Keeping
the burden of running them as low as possible helps make sure that folks
who are considering using the project can run its tests easily, as well
as tools like 'cheesecake',

If we want to encourage "casual" contributors to test the code (e.g.,
users who finnd a bug, or help out during a bug day) we need to make it
easy and documented how to do so.  The "hacking" page I wrote for
zope.event is aimed at such contributors, and describes both ways to run
the tests:

  http://palladion.com/static/zope.event-docs/hacking.html

Finally, keeeping the required infrastructure for running the ZTK tests
minima is essential to the topic of this thread, which is helping
Lennart's efforts porting to Zope3.  Right now, their reliance on
zc.buildout + zope.testing for running the tests is the major blocker to
porting the other ZTK packages to Python 3.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkvK+WgACgkQ+gerLs4ltQ7AFACeOG/i5SIU1G3pp9dpzeBFFl6C
oTsAoNTyMqg+Oa1kNbG9EuVl2yqFV4iW
=jUS3
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list