-
Notifications
You must be signed in to change notification settings - Fork 29.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: fix flaky test-timers-blocking-callback #9198
Conversation
This test was failing on FreeBSD from time to time in the project CI. The bug the test was written for would guarantee that the timer would fire at least 100ms late, but the assertion was firing if it was more than 50ms late. This changes the assertion to fire when the timer is more than 100ms late. I ran a modified version of this test using 0.10.38 (which has the bug) and 0.10.39 (which has the fix) to confirm that it still fails in the buggy one and passes in the fixed one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¯_(ツ)_/¯
This is definitely an improvement, so the changes look good to me. However the test would still be inherently flaky, because there's no guarantee of when the timers will fire regardless of the bug that was fixed by the change that came with this test. For instance, one recent test failure showed that it took around 1.2 seconds for the test to fail, when in total it should take ~600ms for the test to complete if the process running that program is always on CPU. In other words, I'd expect these changes to result in this test being less flaky, but still flaky. |
OMG, CI is yellow, I'll take it! |
This test was failing on FreeBSD from time to time in the project CI. The bug the test was written for would guarantee that the timer would fire at least 100ms late, but the assertion was firing if it was more than 50ms late. This changes the assertion to fire when the timer is more than 100ms late. I ran a modified version of this test using 0.10.38 (which has the bug) and 0.10.39 (which has the fix) to confirm that it still fails in the buggy one and passes in the fixed one. PR-URL: nodejs#9198 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Julien Gilli <[email protected]>
Landed in 5d818cc |
This test was failing on FreeBSD from time to time in the project CI. The bug the test was written for would guarantee that the timer would fire at least 100ms late, but the assertion was firing if it was more than 50ms late. This changes the assertion to fire when the timer is more than 100ms late. I ran a modified version of this test using 0.10.38 (which has the bug) and 0.10.39 (which has the fix) to confirm that it still fails in the buggy one and passes in the fixed one. PR-URL: #9198 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Julien Gilli <[email protected]>
This test was failing on FreeBSD from time to time in the project CI. The bug the test was written for would guarantee that the timer would fire at least 100ms late, but the assertion was firing if it was more than 50ms late. This changes the assertion to fire when the timer is more than 100ms late. I ran a modified version of this test using 0.10.38 (which has the bug) and 0.10.39 (which has the fix) to confirm that it still fails in the buggy one and passes in the fixed one. PR-URL: #9198 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Julien Gilli <[email protected]>
This test was failing on FreeBSD from time to time in the project CI. The bug the test was written for would guarantee that the timer would fire at least 100ms late, but the assertion was firing if it was more than 50ms late. This changes the assertion to fire when the timer is more than 100ms late. I ran a modified version of this test using 0.10.38 (which has the bug) and 0.10.39 (which has the fix) to confirm that it still fails in the buggy one and passes in the fixed one. PR-URL: #9198 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Julien Gilli <[email protected]>
Checklist
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passesAffected core subsystem(s)
test timers
Description of change
This test was failing on FreeBSD from time to time in the project CI.
The bug the test was written for would guarantee that the timer would
fire at least 100ms late, but the assertion was firing if it was more
than 50ms late.
This changes the assertion to fire when the timer is more than 100ms
late.
I ran a modified version of this test using 0.10.38 (which has the bug)
and 0.10.39 (which has the fix) to confirm that it still fails in the
buggy one and passes in the fixed one.
/cc @misterdjules @Fishrock123