Add Antithesis support to Proptest - #659
Open
carlsverre wants to merge 1 commit into
Open
Conversation
Add an optional `antithesis` feature that introduces `RngAlgorithm::Antithesis`, which draws randomness directly from the Antithesis deterministic simulation testing SDK (`antithesis_sdk::random::AntithesisRng`) on every call. The algorithm is wired through the test runner's seed/persistence machinery (persistence key "at", recognized by the PROPTEST_RNG_ALGORITHM env var) and gated behind the feature so it's a no-op when disabled. The feature requires `std` and pulls in the `antithesis_sdk` crate. Co-Authored-By: Claude <noreply@anthropic.com>
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.
Hello maintainers! Really appreciate all the work y'all have done on this project! Some of Antithesis's customers use Proptest to build sophisticated workloads on top of Antithesis, but we recently realized that, because of how Antithesis branches the simulation's timeline, those workloads were not getting as much value from our platform. This hopefully small & surgical change to proptest allows Antithesis to use proptest to fuzz software in a really efficient way, as we can branch time at the beginning of any test block and fuzz the RNG to "cover" it. We use this method with some other PBT libraries to great success and would love to include Proptest in that group. Happy to chat about it more if you want! Thanks again for your consideration and amazing project!
Add an optional
antithesisfeature that introducesRngAlgorithm::Antithesis, which draws randomness directly from the Antithesis deterministic simulation testing SDK (antithesis_sdk::random::AntithesisRng) on every call.The algorithm is wired through the test runner's seed/persistence machinery (persistence key "at", recognized by the PROPTEST_RNG_ALGORITHM env var) and gated behind the feature, so it's a no-op when disabled. The feature requires
stdand pulls in theantithesis_sdkcrate.