(See upstream testem PR: testem/testem#819)
Since around 2012, WebKit and other browsers have throttled timers (like setTimeout
) to only a max of once per second in inactive tabs.
For some test suites, this may never be an issue. But, for example, in a very large Ember test suite with >1000 acceptance tests and much custom code, it manifested as often flaky and non-deterministic test timeouts, even in headless CI environments with Chrome in xvfb.
This has caused much much testing pain that might manifest as the not-obviously-related error:
Error: timeout of 10000ms exceeded. Ensure the done() callback is being called in this test.