[openstack-dev] how to provide tests environments for python things that require C extensions

Doug Hellmann doug at doughellmann.com
Tue Sep 9 14:41:14 UTC 2014


On Sep 8, 2014, at 8:18 PM, James E. Blair <corvus at inaugust.com> wrote:

> Sean Dague <sean at dague.net> writes:
> 
>> The crux of the issue is that zookeeper python modules are C extensions.
>> So you have to either install from packages (which we don't do in unit
>> tests) or install from pip, which means forcing zookeeper dev packages
>> locally. Realistically this is the same issue we end up with for mysql
>> and pg, but given their wider usage we just forced that pain on developers.
> ...
>> Which feels like we need some decoupling on our requirements vs. tox
>> targets to get there. CC to Monty and Clark as our super awesome tox
>> hackers to help figure out if there is a path forward here that makes sense.
> 
> From a technical standpoint, all we need to do to make this work is to
> add the zookeeper python client bindings to (test-)requirements.txt.
> But as you point out, that makes it more difficult for developers who
> want to run unit tests locally without having the requisite libraries
> and header files installed.

I don’t think I’ve ever tried to run any of our unit tests on a box where I hadn’t also previously run devstack to install all of those sorts of dependencies. Is that unusual?

Doug

> 
> We could add another requirements file with heavyweight optional
> dependencies, and use that in gate testing, but also have a lightweight
> tox environment that does not include them for ease of use in local
> testing.
> 
> What would be really great is if we could use setuptools extras_require
> for this:
> 
> https://pythonhosted.org/setuptools/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies
> 
> However, I'm not sure what the situation is with support for that in pip
> (and we might need pbr support too).
> 
> -Jim
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list