<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 9 nov. 2020 à 09:06, Alessandro Pasotti <<a href="mailto:apasotti@gmail.com">apasotti@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Nov 9, 2020 at 12:55 AM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" target="_blank">nyall.dawson@gmail.com</a>> wrote:<br>
><br>
> On Fri, 6 Nov 2020 at 20:57, Matthias Kuhn <<a href="mailto:matthias@opengis.ch" target="_blank">matthias@opengis.ch</a>> wrote:<br>
> ><br>
> > This would be desirable.<br>
> ><br>
> > It's unfortunately a bit of complexity included. As Alessandro said, the rendering tests are a good example of tests which are hard to maintain and - unfortunately - not well defined functions like we happen to have on e.g. database engine unit tests.<br>
> ><br>
> > To recall, when we started with CI some 5 years ago we were in the situation that we had a set of tests, which randomly passed on some dev machines and some on others. So effectively you had no chance to know if a test doesn't pass because of your machine or your patch.<br>
> ><br>
> > At least now we have a reference platform and know if a patch actually does cause changes. Which is the most important information.<br>
> ><br>
> > Currently many of the tests are already cross platform. And nobody is actively writing CI centric tests. It's just a matter of fact that the tests have a requirement to at least pass on the CI env because it's the only thing that can be enforced.<br>
> ><br>
> > When tests are updated to a new platform (ci or not), many of them will pass on a wider variety of platforms. Because bugs are fixed or they are made more generic. And some will just have reference images for one more platform added.<br>
> ><br>
> > So whatever we do we will do a step into the right direction. But there will be no guarantee that every test passes on your machine except if you make them all pass on your machine - which would be very welcome!!<br>
> ><br>
> > What you could also do is listing tests that are generic / platform independent (e.g. the expression tests would be a very good example) and then always just run these instead of the whole set of tests.<br>
><br>
><br>
> Just to add a few extra thoughts to the already comprehensive replies<br>
> given by Matthias and Denis:<br>
><br>
> - we had to do a very similar effort with updating existing tests when<br>
> we moved from Qt 4 -> Qt 5. We'll probably have to do another similar<br>
> effort in another 18-24 months or so. It's going to be a regular,<br>
> recurring task to go through and update all the tests which have been<br>
> introduced since the previous effort and ensure that they are<br>
> sufficiently tolerant to pass under different environments/software<br>
> versions. (Maybe we should consider adding "test maintenance" as a<br>
> regular yearly expense of the nature of 1.5 weeks?)<br>
> - we really should do a similar effort to get the existing tests<br>
> passing under mac os and windows too. I suspect there's some valid<br>
> bugs that the test suites would reveal if we could reliably run them<br>
> under windows/mac, but the real issues are drowned in the noise of<br>
> tests which haven't been designed to be cross platform compatible.<br>
> (This could be a good grant proposal idea for future funding rounds!)<br>
><br>
> And then my personal 2c:<br>
><br>
> We have a great test suite, and fantastic tools for making and<br>
> managing tests. Sure, there's a learning curve involved with them.<br>
> Sure, they ARE different to the test suites used by gdal, or geos, or<br>
> <insert other project here>. But that's just business as usual in<br>
> software development, and not at all reflective of inferiority in the<br>
> test suites. Can we please move on from this recurring point once and<br>
> for all and focus on the current relevant parts of this discussion<br>
> instead?<br>
><br>
> Nyall<br>
><br>
><br>
<br>
<br>
Hi,<br>
<br>
While I agree on all points, there is one important thing that we<br>
should make it better while we work on it:<br>
make sure the test suite can **easily** run locally using the same<br>
docker images we are using in the CI process, I can do it but I cannot<br>
say it was easy to set up and it's probably overly complicated for<br>
most people.<br></blockquote><div><br></div><div>The new github workflow is far more simple and easier to read than the travis config.</div><div>Everything is in one file and should be easily replicable.</div><div><a href="https://github.com/qgis/QGIS/blob/test-focal/.github/workflows/run-tests.yml#L101-L124">https://github.com/qgis/QGIS/blob/test-focal/.github/workflows/run-tests.yml#L101-L124</a><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Also, making the test suite independent from the particular CI we will<br>
use (GH workflows, Travis & C.) will make it easier to move it to<br>
another CI if needed.<br></blockquote><div><br></div><div>It should!</div><div>Let's when we move the CI for 3.16 to Github: the base image will remain (bionic) and we shouldn't have anything to touch in the tests.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
This is of course also a matter of producing a good documentation for<br>
the process and the tools.<br>
<br>
Kind regards.<br>
<br>
-- <br>
Alessandro Pasotti<br>
QCooperative:  <a href="http://www.qcooperative.net" rel="noreferrer" target="_blank">www.qcooperative.net</a><br>
ItOpen:   <a href="http://www.itopen.it" rel="noreferrer" target="_blank">www.itopen.it</a><br>
_______________________________________________<br>
Qgis-psc mailing list<br>
<a href="mailto:Qgis-psc@lists.osgeo.org" target="_blank">Qgis-psc@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/qgis-psc" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-psc</a></blockquote></div></div>