<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 16, 2014 at 2:37 PM, S Page <span dir="ltr"><<a href="mailto:spage@wikimedia.org" target="_blank">spage@wikimedia.org</a>></span> wrote:</div>
<div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div>So I filed <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=68125" target="_blank"><b>Bug 68125</b></a> -<span>
<span>browser tests failing with "getaddrinfo: Name or service not known (SocketError)"</span></span></div></div></div></div></blockquote><div><br></div><div>This seems to be in every case some test not sending any command to SauceLabs in 90 seconds. After 90 seconds with no activity Sauce deletes the VM and the test has nothing to talk to. </div>
<div><br></div><div>This is likely a problem with Jenkins. However, I have also seen this with poorly-considered API calls that take longer than 90 seconds, so do check to make sure the test is not doing something that takes a really long time. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>[Sage manager] suggested<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex" class="gmail_quote">
can we change the wait to 60 seconds and call it good? How was 5 seconds arrived at as the time for an automated test to fail?<br></blockquote><br></div><div>The other Firefox test failure on that run was adding a topic took 6 seconds, thus triggering<br>
<pre>timed out after 5 seconds, Element still visible after 5 seconds (Watir::Wait::TimeoutError)
</pre>Flow tests often fail with these timeouts yet the expected result appears is in the screencast or ends up on the test page. So yes, increasing the wait timeout to 10 seconds would cut down our false failures.<br></div>
</div></div></div></blockquote><div><br></div><div>Of course, it would be better if we did not have any operations that take over 5 seconds to complete, that seems a long time, even on beta labs. For the operations that we know take longer, the convention so far has been to use an argument in seconds to "when_present" in individual test steps, for example </div>
<div><br></div><div>"on(FooPage).my_element.when_present(10).click" to poll for my_element for 10 seconds and I have even used </div><div>"on(FooPage).my_element.when_present(15).click" for some tedious VE commands<br>
</div><div><br></div><div>The vast, vast majority of our test steps across all repos take less than 5 seconds to complete. I would oppose a global 60-second timeout. I might entertain a global 10-second timeout. But I would rather know about chronically poor performance on particular aspects of features than not know.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>QA folk, is there a way to "grep" all browser tests for gettaddrinfo and "timed out after 5 seconds" to see if there's a pattern to when and how often they occur?</div></div></div></div></blockquote>
<div><br></div><div>That's a good question. I would assume Jenkins has some raw output stored somewhere that might lend itself to this kind of thing, Antoine might know better. </div><div>-Chris </div></div></div></div>