jquery / testswarm

Distributed continuous integration testing for JavaScript.
http://swarm.jquery.org
Other
967 stars 158 forks source link

Unknown test error #316

Closed Krinkle closed 7 years ago

Krinkle commented 7 years ago

From time to time, a TestSwarm run is finished and submitted early due to an error (presumably through from window.onerror), but no error message is appended to the page.

For example:

http://swarm.jquery.org/result/2383072
Run time: 49s
Status: Finished
UA ID: opera_46
screen shot 2017-08-20 at 14 19 39
http://swarm.jquery.org/result/2382990
Run time: 70s
Status: Finished
UA ID: edge_15
screen shot 2017-08-20 at 14 23 29

Given status=finished and the low run time, this was not a timeout (which have their own exit status code, labelled "Timed out"). Rather, this was a saverun submission coming from within the test iframe (via inject.js). The only way there can be an error without an error count (e.g. not "5 assertions" but "errors=0") is if it was a global error from window.onerror.

However, inject.js only calls submit() from window.onerror if it also appended the error message to the page - which we don't find in the uploaded HTML.

https://github.com/jquery/testswarm/blob/d8114f8fbe0fddd0d92fd4e32231565af9638914/js/inject.js#L177-L196

Krinkle commented 7 years ago

Indeed. The Edge 15 error for jQuery Migrate is a timeout. Continuing at https://github.com/jquery/jquery-migrate/issues/255