Skip to content
Projects

tokio-rs/turmoil has 1,297 GitHub stars and 79 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-08 07:33 UTC. Last push 2026-10-27.

How these counts are measured

Add hardship to your tests

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

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. Drop-in replacement for std::fs / tokio::fs. Crates.io Documentation
turmoil-io-uring Deterministic simulated io_uring. Optional fs feature wires it to turmoil-fs. Crates.io Documentation

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.

Explore related projects