Skip to content

tokio-rs/turmoil

Repository files navigation

Turmoil

Add hardship to your tests.

Turmoil is a family of crates for deterministic simulation testing of distributed systems. It runs multiple concurrent hosts within a single thread and injects "hardship" — latency, drops, partitions, crashes, torn writes — into the simulated network and filesystem, under manual control or a seeded RNG.

Build Status Discord chat

Crates

Crate Description
turmoil Full simulation-testing framework. Start here. Crates.io Documentation
turmoil-net Deterministic simulated socket stack. Drop-in replacement for tokio::net. Crates.io Documentation
turmoil-fs Deterministic simulated filesystem (scaffold — lift in progress). unpublished

Examples

See examples/ for end-to-end samples, and each crate's tests/ directory for smaller, feature-focused tests.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Turmoil by you, shall be licensed as MIT, without any additional terms or conditions.

About

Add hardship to your tests

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages