<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">As part of reviewing the code coverage on various projects I have found that a number had failing coverage jobs when not configured correctly (many also work just fine).  Starting initially in various Oslo projects my goal has been to just ensure coverage is defined, runs without errors and is generally consistent with existing syntax. [1]   This investigation has been part of looking at projects when building a general code coverage index and historical statistics. [2]</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">My initial minimum focus is to ensure the following (when either not defined or partially defined):</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">A [tox:cover] section</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">The use of  python setup.py test --coverage syntax when not defined.  Note this is "test" and not "testr"</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">The definition of an applicable .coveragerc to including branches and omit unit tests from coverage results.</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">Applicable .gitignore of various artifacts.</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">I would also like to start the larger discussion on several points I have come across (for the wider community of projects) including:</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">The removal in  .coveragerc  omit= option of  [project]/openstack/* when the source tree no longer has this directory. Thanks to an explanation from dhellmann this seems to be an incubator artifact that is no longer generally used (but does exist in some projects).</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">The use of  python setup "test" syntax rather then "testr" for coverage usage.</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 3em;padding:0px;list-style-type:circle"><li style="margin:0px;padding:0px"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">the testr command for setuptools is deprecated</span><span style="margin:0px;padding:1px 0px"> (via lifeless)</span></span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">There seems a lack of clearly defined Openstack docs around what is generally found, e.g. [3],[4],[5]. Hopefully the outcome of this discussion can be some updating of docs.</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:12px;line-height:16px"><ul style="margin:0px 0px 0px 1.5em;padding:0px"><li style="margin:0px;padding:0px"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">Anything else relevant regarding code coverage being more consistent for OpenStack.</span></li></ul></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">Regards</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">Ronald</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="margin:0px;padding:1px 0px;background-color:rgb(255,255,255)">----</span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><br style="margin:0px;padding:0px"></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">[1] </span><span style="margin:0px;padding:1px 0px"><a href="https://review.openstack.org/#/q/topic:fix_coverage,n,z" style="margin:0px;padding:0px;white-space:pre-wrap" target="_blank">https://review.openstack.org/#/q/topic:fix_coverage,n,z</a></span></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">[2] </span><span style="margin:0px;padding:1px 0px"><a href="https://review.openstack.org/#/c/221494/" style="margin:0px;padding:0px;white-space:pre-wrap" target="_blank">https://review.openstack.org/#/c/221494/</a></span></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">[3] </span><span style="margin:0px;padding:1px 0px"><a href="https://wiki.openstack.org/wiki/Testr" style="margin:0px;padding:0px;white-space:pre-wrap" target="_blank">https://wiki.openstack.org/wiki/Testr</a></span></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">[4] </span><span style="margin:0px;padding:1px 0px"><a href="https://wiki.openstack.org/wiki/CoverageTesting" style="margin:0px;padding:0px;white-space:pre-wrap" target="_blank">https://wiki.openstack.org/wiki/CoverageTesting</a></span></span></div><div style="margin:0px;padding:0px;color:rgb(0,0,0);font-size:12px;line-height:16px;font-family:'Helvetica Neue',Arial,sans-serif"><span style="background-color:rgb(255,255,255)"><span style="margin:0px;padding:1px 0px">[5] </span><span style="margin:0px;padding:1px 0px"><a href="http://docs.openstack.org/developer/cinder/devref/unit_tests.html" style="margin:0px;padding:0px;white-space:pre-wrap" target="_blank">http://docs.openstack.org/developer/cinder/devref/unit_tests.html</a></span></span></div><div><div><br></div><div><div><div><div dir="ltr"><br></div><div dir="ltr"><br></div></div></div>
</div></div></div>
</div><br></div>