Allow strategy-generating functions to not provide strategies#3769
Merged
Zac-HD merged 7 commits intoHypothesisWorks:masterfrom Oct 15, 2023
Merged
Allow strategy-generating functions to not provide strategies#3769Zac-HD merged 7 commits intoHypothesisWorks:masterfrom
Zac-HD merged 7 commits intoHypothesisWorks:masterfrom
Conversation
273a103 to
43a2cdf
Compare
This comment was marked as resolved.
This comment was marked as resolved.
test_self_ref_regression is failing randomly with FailedHealthCheck for too slow and filtering too much. We now suppress these health checks for this test.
Custom type strategies registered with register_type_strategy() can now choose not to provide a strategy for a type by returning NotImplemented instead of a strategy. This allows custom strategies to only provide a custom strategies for certain subtypes of a type, or certain generic parameters, while deferring to another strategy for the unhandled cases.
Zac-HD
approved these changes
Oct 15, 2023
This was referenced Oct 15, 2023
7ba34d5 to
aad4098
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements the feature discussed in #3767, to allow strategy-generating functions registered with
register_type_strategy()to choose not to provide a strategy for a type by returningNotImplementedinstead of a strategy.
This doesn't directly fix issue #3767 (PR #3768 is the fix) but this feature would allow a strategy to not trigger the issue, and is also useful in its own right, to limit when a globally-registered type strategy is used. For example, to only provide a custom strategy for certain super-types of a type, or certain generic parameters, while deferring to another strategy for the unhandled cases.