J1m: when you develop recipes J1m: how do you test them during development? J1m: that is, how does buildout find them? J1m: I'm grasping for some patterns there. * batlogg (i=batlogg@plone/batlogg) has joined #zope3-dev faassen: recipes are eggs and - if i'm not mistaken - will be looked for via easy install Theuni: where is easy install finding them during development? there must be some way J1m tested the 3 zope 3 eggs. together. for one at pypi, but if you set 'find-links' in the buildout, it will additionally use those pages as places to look out for and then fixed bugs in possibly all of them. faassen: I always develop them as develop eggs. J1m: how do you pull them together? http://svn.zope.org/zc.buildout/trunk/buildout.cfg?rev=69987&view=auto J1m: you have a directory with 3 develop eggs and such? Look at zc.buildout. In buildout.cfg, I have a develop section that names my two egg directories, which have setup.py files. This causes them to be installed as develop eggs. J1m: okay, so when you developed the zope 3 eggs, you have a testing buildout somewhere? J1m: and you check out the 3 eggs into that testing directory? No Just a sec. J1m: sorry, you check out the 3 things from svn. J1m: and they have setup.py J1m: I meant to say. * nathany has quit ("Ex-Chat") J1m: they're not eggs yet, but they can be installed as develop eggs if you list them under the 'develop' section. exactly right, sorry, I just expressed myself badly. just grasping for patterns here, but I think I see now. Now most of the zope 3 recipes don't have tests. :( I should, for each of those projects have tests and a buildout that gives me a test script to run the tests. The filestorage recipe has some tests, but I ran those tests as part of the zc.sharing buildout. I really should set up a separate buildout for it. You could write tests for recipes at two levels: - Unit level tests are probably easier to write. You provide a faux buildout and make sure that the recipe interacts with it in the right way. Because the interaction is very simple, this sort of tst is straightforward to write. you basically just need to provide some parts directory I experiemented with this for the filestorage recipe tests. and some options More or less. Unfortunately, this sort of test has pretty much zero documentation value. :( I consider the filestorage recipe tests to be a bit of a failure. Alternatively, you can write tests that actually run buildout with the recipe. and then verify whether stuff is actually there. where you expect it to be. These tests, have more documentation value, but are much harder to write. yes why are they much harder to write? The zc.recipes.egg and zc.recipes.testrunner tests illustrate this. Because: - You end up running programs and capturing output