-
Notifications
You must be signed in to change notification settings - Fork 586
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
hypothesis.errors.Flaky raised with tight deadline setting #892
Comments
Hmm. Yeah, I was worried about this possibility and was hoping it wouldn't come up quite so soon. Thanks, past-@DRMacIver 😜. I agree we should handle this better. The easy options as I see it are:
I suspect the correct answer is "all of the above" |
Deadlines currently interact poorly with shrinking in the shrinker will try to find an example which is right on the boundary of failing, which means that given the slightly unreliable nature of timing, often when you replay the example it doesn't fail! This results in a confusing user experience. The fix is twofold: 1. Give a better error message when this happens. 2. Try to avoid it happening in the first place by raising the deadline temporarily during the shrinking process, so that we stop at a boundary that is significantly above that of the deadline. This fixes #892.
Deadlines currently interact poorly with shrinking in the shrinker will try to find an example which is right on the boundary of failing, which means that given the slightly unreliable nature of timing, often when you replay the example it doesn't fail! This results in a confusing user experience. The fix is twofold: 1. Give a better error message when this happens. 2. Try to avoid it happening in the first place by raising the deadline temporarily during the shrinking process, so that we stop at a boundary that is significantly above that of the deadline. This fixes #892.
Deadlines currently interact poorly with shrinking in the shrinker will try to find an example which is right on the boundary of failing, which means that given the slightly unreliable nature of timing, often when you replay the example it doesn't fail! This results in a confusing user experience. The fix is twofold: 1. Give a better error message when this happens. 2. Try to avoid it happening in the first place by raising the deadline temporarily during the shrinking process, so that we stop at a boundary that is significantly above that of the deadline. This fixes #892.
Deadlines currently interact poorly with shrinking in the shrinker will try to find an example which is right on the boundary of failing, which means that given the slightly unreliable nature of timing, often when you replay the example it doesn't fail! This results in a confusing user experience. The fix is twofold: 1. Give a better error message when this happens. 2. Try to avoid it happening in the first place by raising the deadline temporarily during the shrinking process, so that we stop at a boundary that is significantly above that of the deadline. This fixes #892.
I'm currently seeing a failure which confuses me a bit (which was probably introduced by things getting slower because of coverage). It roughly looks like this:
I don't see how that test could be flaky, it'll always pass with that input. However, I think what happened is that it was just above the deadline once, and just above it when re-running? I'm not sure how, but I feel like hypothesis could give me a better indication of what happened there.
The text was updated successfully, but these errors were encountered: