<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 23, 2014 at 11:11 AM, Ben Nemec <span dir="ltr"><<a href="mailto:openstack@nemebean.com" target="_blank">openstack@nemebean.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>On 05/22/2014 06:31 PM, Johannes Erdfelt wrote:<br>

> I noticed recently that some tests are being skipped in the Nova gate.<br>
><br>
> Some will always be skipped, but others are conditional.<br>
><br>
> In particular the ZooKeeper driver tests are being skipped because an<br>
> underlying python module is missing.<br>
><br>
> It seems to me that we should want no tests to be conditionally skipped<br>
> in the gate. This could lead to fragile behavior where an underlying<br>
> environmental problem could cause tests to be erroneously skipped and<br>
> broken code could get merged.<br>
><br>
> Any opinions on this?<br>
<br>
</div>This is not a hypothetical problem either - we've run into this exact<br>
scenario with Qpid in the past.  The Qpid tests were conditional on<br>
python-qpid being installed, and since it wasn't listed in<br>
test-requirements those tests never got run and broken code found its<br>
way in.  I believe that's been fixed everywhere now, but it demonstrates<br>
that this is a legitimate problem.<br>
<br>
I'm not sure whether "no skips at all" is going to be doable, but I<br>
definitely agree that conditional tests should be avoided whenever possible.<br></blockquote><div><br></div><div>Ben,</div><div><br></div><div>This sounds very similar to the dependency directory idea [0].  Another option  is to add a unit test job that swaps requirements.txt with the global-requirements [1] (perhaps in an intelligent way so we don't change the versions of libraries that are already in requirements). I put up a quick test of this to see what happens [2]</div>


<div><br></div><div><br></div><div>[0] <a href="http://lists.openstack.org/pipermail/openstack-dev/2014-February/026976.html" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2014-February/026976.html</a></div>

<div>[1] <a href="http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt">http://git.openstack.org/cgit/openstack/requirements/tree/global-requirements.txt</a></div><div>[2] <a href="https://review.openstack.org/95981">https://review.openstack.org/95981</a></div>

<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span><font color="#888888"><br>
-Ben<br>
</font></span><div><div><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div></div>