<div dir="ltr">Hi all,<br><br>Let me introduce my proposal about Horizon testing improvements[1]. We started this discussion at the last PTG [2] and had a good conversation at the previous meeting [3].<br><br>The idea is simple: to have CI that verifies Horizon changes across supported plugins. As a side-effect of this activity, we'll have a list of maintained and supported plugins per each release. For now, we have a static list in Horizon Install Guide only [4]<br><br>We don't have Selenium-based tests now. the selenium-headless job always reports<br>success. Integration tests are totally broken and we even don't run them on<br>gates. We need to fix selenium-headless job and integration tests too.<br><br>It would be great to have new gate job per each plugin per any<br>Horizon code change to be sure that we don't break anything. The same job with<br>plugin-specific selenium or integration tests should be executed against each<br>Horizon plugin's change request.<div><br></div><div>To make this happen, we need to fix horizon's selenium and integration tests first. One of the first steps is to get rid of nose from Horizon and plugins. Initially, I tried to use Django Test Runner but XMLTestRunner [5] looks better for me because of it generates a report in xunit format. Ideally, it would be great to use pytest for it, but it requires more efforts now. stestr requires some work to get it working with Django too. </div><div><br></div><div>I know that Horizon team already introduced some new things in Rocky which require action from plugins developers like moving to Mock (it's one of the community goals for this release for all projects) and support Django<2.0,>=1.11. That's why I'm ready to help plugins with test runner migration and propose a patch for each plugin in a list [4].</div><div><br></div><div>Since it's supposed to be a cross-project activity, I would like to get feedback from Horizon Plugins developers.</div><div><br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div>[1] <a href="https://blueprints.launchpad.net/horizon/+spec/improve-horizon-testing" target="_blank">https://blueprints.launchp<wbr>ad.net/horizon/+spec/improve-<wbr>horizon-testing</a><div>[2] <a href="https://etherpad.openstack.org/p/horizon-ptg-rocky">https://etherpad.openstack.org/p/horizon-ptg-rocky</a><br><div>[3] <a href="http://eavesdrop.openstack.org/meetings/horizon/2018/horizon.2018-04-04-20.01.log.html#l-25">http://eavesdrop.openstack.org/meetings/horizon/2018/horizon.2018-04-04-20.01.log.html#l-25</a></div><div>[4] <a href="https://docs.openstack.org/horizon/latest/install/plugin-registry.html">https://docs.openstack.org/horizon/latest/install/plugin-registry.html</a></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">[5] <a href="https://review.openstack.org/#/c/544296/">https://review.openstack.org/#/c/544296/</a></span><br><div><br></div><div><br clear="all"><div><div class="gmail-m_-363065490990810637m_-3294197332223318125gmail_signature"><div dir="ltr"><div>Regards,<br>Ivan Kolodyazhny,<br><a href="http://blog.e0ne.info/" target="_blank">http://blog.e0ne.info/</a></div></div></div></div>
</div></div></div></div>