Rewriting WebRTC output level tests to be more reliable under load.
This greatly reduces the variance in test execution time when running in parallel on a heavily loaded bot, in which setTimeout becomes increasingly unpredictable. These tests were quite sensitive to load - they run 200 consecutive setTimeout calls with short timeouts, but if the machine is under load it can take up to 1000 ms to call back to a 50 ms setTimeout. This means the test would take 200 * 1000 = 200 seconds to run, but it obviously times out long before then. Running with this patch, the tests reliably stay under 10 seconds of execution time even under the most heavy load, which is a massive improvement to reliability. The only risk I see with this patch is that the tests will become more resource-hungry when there are resources available, so maybe they will starve out other sensitive tests? BUG=472087 Review URL: https://codereview.chromium.org/1132483003 Cr-Commit-Position: refs/heads/master@{#329400}
Showing
Please register or sign in to comment