-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Flaky Tests #82
Comments
Thanks for reporting! I have definitely encountered the first 3, don't remember about the others. Most of these tests are "broken by design": they rely on some scheduling guarantees which should not be assumed.
Flaky tests are definitely something that needs to be fixed. Though maybe not all at once. |
Improving and hardening the runtime should fix this I guess. It's not like the test as such would have issues. It's how they are executed. Testing async runtimes is trick anyway in itself… |
I have rewritten |
Thanks a lot! But does it make sense to heal symptoms of an underlying problem? If the current runtime has issues with timeouts that should not go unnoticed. Just "tuning" tests so these issues don't show up defeats the idea behind tests, imho. That's like: "I've made all test pass by deleting them…" 😉 I would in this case just document the behavior so it's not unexpected, and look into the root cause. If looking into the root cause is currently out of scope, that's also fine. Just create a ticket and look into that when time has come. Never mind, just my 2ct. |
The It was doing clock.advanceBy(31.millis) but if that adjustment of time happened before the tested program did delay(30.millis) the test would inevitably timeout, because the clock will not be advanced by another 30 millis for this delay to finish. |
I've experienced some flakynes in some tests. There seems something wrong with the current runtime.
Here's a zip with screenshots:
Screenshot_2023062.zip
A heuristic of my test failures would look something like this:
Test failures were triggered quite reliably by calling
clean ; compile ; test
in SBT, especially when there was additional load on the machine, or when called in short sequence.Maybe just the timeouts are too short. But they are actually quite long for what is computed. So this should just not happen, I guess.
But I didn't investigate further until now. So can't say much besides that it happens at the moment.
The text was updated successfully, but these errors were encountered: