[Zope-dev] Tesing a module against against dependencies in different versions

Fred Drake fdrake at gmail.com
Wed Jul 16 16:07:17 EDT 2008


On Wed, Jul 16, 2008 at 2:59 PM, Andreas Jung <lists at zopyx.com> wrote:
> we maintain some modules that should work against different versions of
> dependent module. E.g. my z3c.sqlalchemy module should work with
>
> Sqlalchemy 0.3.X and zope.interface 3.0.X
> or
> SQLAlchemy >=0.4.X and zope.interface>=3.3.0
>
> The codebase right works with both combinations. I am not sure how test such
> configurations automatically because the dependent modules and their
> versions are fixed within the setup.py. Is there some way together with
> Buildout, zope.testing & friends?

This remains a tricky case.  :-(

I suspect the best thing is for the setup.py not to mention any of the
packages for which there are different names, and the versions should
be specified in the buildout.cfg as requirements for separate test
scripts.

I.e., zope.interface could be mentioned in setup.py (sans version),
but the sql alchemy packages would not be since the names differ.

You could then create test scripts like so:

    [test-one]
    recipe = zc.recipe.testrunner
    eggs =
        z3c.sqlalchemy
        Sqlalchemy >=0.3.0, <0.4.0
        zope.interface >=3.0.0

    [test-two]
    recipe = zc.recipe.testrunner
    eggs =
        z3c.sqlalchemy
        SQLAlchemy >=0.4.0
        zope.interface >=3.3.0

I expect you could come up with better names than test-one and
test-two; I'm creativity-challenged at the moment.  :-)


 -Fred

-- 
Fred L. Drake, Jr. <fdrake at gmail.com>
"Chaos is the score upon which reality is written." --Henry Miller


More information about the Zope-Dev mailing list