[Zope-dev] IRC discussion about testing

Jim Fulton jim at zope.com
Tue Aug 11 17:22:09 EDT 2009


2009/8/3 Fabio Tranchitella <fabio at tranchitella.it>:
> Hi,

Hi,

I've added zope-dev. I hope you don't mind.

>
> * 2009-08-03 08:59, Christian Theune wrote:
>> Cool! Thanks for helping out! I should be online most of the time and
>> I'd be happy to answer questions.
>
> Tonight I spent some time working on this, and I wrote a mock-up of my idea
> for testing the KGS. I did not want to change anything in compattest, so I
> created a new recipe called z3c.recipe.kgs. Later on we can merge things
> back into compattest.
>
> You can get the recipe from here:
>
> svn://svn.zope.org/repos/main/z3c.recipe.kgs/trunk
>
> There are no tests nor documentation, because it is a mock-up and I did not
> want to spend time on writing documentation for something that maybe is not
> exactly what we need.
>
> Let's say that you are working on transaction and you want to test your
> changes against the KGS, you can simply add the following snippet to your
> buildout.cfg:
>
>  [test-kgs]
>  recipe = z3c.recipe.kgs
>  kgs = http://svn.zope.org/*checkout*/zope.release/trunk/releases/controlled-packages.cfg
>
> You can now run buildout, and you will get ./bin/test-kgs-<package> for
> each package in the KGS, as well as ./bin/test-kgs to run all the tests in
> all the packages in isolated environments.
>
> The KGS is rather big right now, so I suggest to try it with a subset of
> the packages using something like:
>
>  [test-kgs]
>  recipe = z3c.recipe.kgs
>  kgs = http://svn.zope.org/*checkout*/zope.release/trunk/releases/controlled-packages.cfg
>  packages = zope.component
>        zope.interface
>        zope.event
>        zope.configuration
>
> Now.. this simple recipe allows us to test a local change in a package we
> are developing on running the tests of all the packages that are part of a
> KGS. In fact, it reuses the KGS as defined in zope.release, without
> reinventing the wheel, and it is quite generic.
>
> Ideas? Comments? Is this the right direction?

I think this is the right direction. :)

A number of comments below:

- I just tried this out. Unfortunately, I'm getting lots of test
failures using Python 2.5.  That's not the recipe's fault. :)

- A bigger problem is that the runner of all tests eventually dies with
  too many open files on Mac OS X.  Here's the last part of the output:

...
Running test-kgs-zope.app.intid
Running test-kgs-zope.app.keyreference
Running test-kgs-zope.app.layers
Running test-kgs-zope.app.locales
1Running test-kgs-zope.app.localpermission
Running test-kgs-zope.app.locking
Traceback (most recent call last):
  File "bin/test-kgs", line 259, in <module>
  File "/private/tmp/kgs/zc.recipe.kgs/src/z3c/recipe/kgs/runner.py",
line 86, in main
  File "/private/tmp/kgs/zc.recipe.kgs/src/z3c/recipe/kgs/runner.py",
line 33, in start
  File "/usr/local/python/2.5.1/lib/python2.5/subprocess.py", line
593, in __init__
  File "/usr/local/python/2.5.1/lib/python2.5/subprocess.py", line
1002, in _execute_child
OSError: [Errno 24] Too many open files

- The packages from zope.release don't build for me on Windows because
of a dependency on M2Crypto from keas.kmi.  Not a big deal at this
point, since ultimately, we want to use a smaller set.

- The versions specified in the controlled-packages.cfg don't seem to
  be honored except for the package being tested. For example,
  ZODB3-3.9.0b2 is used for test-kgs-ZODB3, but 3.9.0b5 is used for
  everything else.  Fortunately, it appears I can work around this
  using a buildout versions section.

Thanks!

Jim

--
Jim Fulton


More information about the Zope-Dev mailing list