Skip to content

Add Antithesis support to Proptest - #659

Open
carlsverre wants to merge 1 commit into
proptest-rs:mainfrom
antithesishq:carlsverre/push-knnzyytykmox
Open

Add Antithesis support to Proptest#659
carlsverre wants to merge 1 commit into
proptest-rs:mainfrom
antithesishq:carlsverre/push-knnzyytykmox

Conversation

@carlsverre

Copy link
Copy Markdown

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 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.

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>
@matthew-russo matthew-russo added the feature-request This issue is requesting new functionality label Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature-request This issue is requesting new functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants