<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">This is very cool.  <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Are these tests running within Zuul jobs at code check-in time?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">     brucej<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="_____replyseparator"></a><b>From:</b> Zvonar, Bill [mailto:Bill.Zvonar@windriver.com]
<br>
<b>Sent:</b> Wednesday, October 30, 2019 7:00 AM<br>
<b>To:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> [Starlingx-discuss] Unit Test Coverage<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-CA">Hi all,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">As discussed in recent community calls and release team meetings, we agree that maintaining & increasing unit test coverage is an important step in maintaining & increasing the quality of our code base.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">I’d like to highlight some recent work by the config sub-project to help ‘lower the bar’ for contributors to be able to add new unit tests to this sub-project.  Going forward, they will require new commits to include
 appropriate unit tests.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">This is an excellent model for other sub-projects to follow on their path to having a reasonably low bar of entry for their contributors to add unit tests.  I’ll be reaching out to those sub-project teams on this – if
 anyone is interested in helping, please let me know.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">As well, as discussed in the community call recently, Ada is working on building a heat map [5] of where bugs are coming from – this will help us focus our unit test attention in the areas that have the biggest impact
 to our project.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Thoughts/comments welcome!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Bill… <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">From the config sub-project… <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">We’ve enhanced and aligned the base unit tests to provide consistency across the different components – specifically for sysinv-api, sysinv-puppet and sysinv-helm.  The base unit tests leverage a common system description
 and configuration, thus adding an expanded coverage of target system deployment configurations to reduce the likelihood of breaking changes that are specific to deployment scenarios (e.g. ipv4 vs ipv6, aio-sx/dx vs standard configurations, etc).  Existing
 and new unit tests will benefit from any additional deployment scenarios that are contributed to the base classes.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">There are example unit tests available to use as a guide [1-3], and a general guide for how to write unit tests in this area is available at [4].<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Going forward, the starlingx/config sub-project will require that new commits to this area be accompanied by appropriate unit tests.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">[1] <a href="https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/puppet/test_puppet.py">
https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/puppet/test_puppet.py</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">[2] <a href="https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/helm/test_helm.py">
https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/helm/test_helm.py</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">[3] <a href="https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/api/test_host.py">
https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/sysinv/tests/api/test_host.py</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">[4] <a href="https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/HACKING.rst">
https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/HACKING.rst</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">[5] </span><a href="https://docs.google.com/spreadsheets/d/1pZ3kTpkurKuOzTckbkxX9NHkjg2fMH71Ydl_KEVK4eY/edit?usp=sharing">https://docs.google.com/spreadsheets/d/1pZ3kTpkurKuOzTckbkxX9NHkjg2fMH71Ydl_KEVK4eY/edit?usp=sharing</a><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
</div>
</body>
</html>