This repository has been archived by the owner on Mar 27, 2021. It is now read-only.
Rework all timer-based Tests #735
Labels
build issues
issues with library versioning, compilation warnings and so on
codebase quality
high level issues pertaining to improvements / problems with the codebase's quality
type:bug
Timer based tests are unreliable
Use Case Resolved: developers are wasting many hours chasing down non-deterministic Test failures
Design & Implementation Notes
Thread.sleep(.*)
retryUntilResolved
eu.toolchain.async.RetryPolicy
What is non-deterministic and what isn’t?
“Non-deterministic” probably isn’t the correct technical term, but it means a situation where a false-positive
GO / Green Light / Proceed
occurs.An example. Consider
com.spotify.heroic.test.AbstractSuggestBackendIT#checks
. The “bad”, non-deterministic first iteration of it proceeded when any number of suggestions were returned :- this meant that if only a single suggestion was returned, the test incorrectly proceeded. The deterministic fix was to pass in the expected number of suggestions. Then you know for sure you can proceed.
The text was updated successfully, but these errors were encountered: