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

Doug Hellmann doug at doughellmann.com
Tue Sep 9 17:58:54 UTC 2014


On Sep 9, 2014, at 10:51 AM, Sean Dague <sean at dague.net> wrote:

> On 09/09/2014 10:41 AM, Doug Hellmann wrote:
>> 
>> 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?
> 
> It is for Linux users, running local unit tests is the norm for me.

To be clear, I run the tests on the same host where I ran devstack, not in a VM. I just use devstack as a way to bootstrap all of the libraries needed for the unit test dependencies. I guess I’m just being lazy. :-)

Doug




More information about the OpenStack-dev mailing list