<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Sat, Sep 1, 2018 at 11:56 AM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com">nyall.dawson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi devs,<br>
<br>
Just raising the question of what we should do about the constant WFS<br>
test failures we get on Travis. I'd estimate 1 in 3 builds fails<br>
because of WFS related tests hanging.<br>
<br>
I'm very reluctant to disable all these tests, because:<br>
<br>
1. WFS is super important.<br>
2. I think there may be a real issue here - I've got at least one<br>
customer who is having WFS issues with 3.2 and master. BUT: on the<br>
other hand Travis has always been flaky with any test which uses<br>
threads, regardless of which area of code it's from. So it could just<br>
be Travis playing up again, in which case we'd need to disable these<br>
tests like we do most of the other thread-related tests...<br>
<br>
The current situation is basically unworkable. Sooooo.... ideas?<br>
<br>
Nyall<br></blockquote><div><br></div><div><br></div><div>Sorry I do not have any solution,  the only consideration that comes up to my mind is that if sum up all the time wasted by developers by unrelated/random Travis failures we would probably be very badly surprised  (as I usually say Travis is basically a very slow binary entropy generator).</div><br><div>Talking about the tests, WFS tests, and (even for different reasons) http-based integration tests (some auth tests, qgsfiledownloader, many server OWS tests) are apparently more fragile than others, mainly because they depend on (sometimes external) http services, but they have proven in the past to be very effective in spotting out regressions on very important feature likes WMS, WFS etc., some of them are also important because they ensure that QGIS client can talk to its server component.</div><div><br></div><div>The very bad things about disabling tests are: <br></div><div><br></div><div>- their development costed a lot of time and efforts and disabling them is not an incentive for the developers to write more tests [1]<br></div><div>- the tests are obviously important to prevent regressions</div><div>- before disabling a test we should make 100% sure that we are not overlooking a real bug (or what are the tests written for in the first place?)<br></div><div></div><div><br></div><div><br></div><div><div>So, my recommendation - not very useful in the short term I'm afraid - would be to start exploring other more reliable options for our CI, even if they are more expensive.</div><div><br></div><div>For the time being, as a temporary solution, there are no other options than disabling though.</div><div><br></div><div>Maybe a good idea would be to allocate some money specifically for the tests (a dedicated grant, a dedicated hackfest?) just an idea...<br></div><div></div></div><div><br></div><div>[1] of course sometimes it would just mean to write "better" and more robust tests, but I suspect that this is not generally the case.<br></div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Alessandro Pasotti<br>w3:   <a href="http://www.itopen.it" target="_blank">www.itopen.it</a></div></div>