21 releases

0.6.4 Oct 9, 2024
0.6.3 Jul 15, 2024
0.6.2 Apr 3, 2024
0.6.1 Jan 16, 2024
0.3.2 Nov 14, 2022

#244 in Simulation

Download history 107731/week @ 2024-08-24 91796/week @ 2024-08-31 124914/week @ 2024-09-07 103554/week @ 2024-09-14 129816/week @ 2024-09-21 122712/week @ 2024-09-28 158046/week @ 2024-10-05 132521/week @ 2024-10-12 155619/week @ 2024-10-19 163222/week @ 2024-10-26 155778/week @ 2024-11-02 156759/week @ 2024-11-09 131307/week @ 2024-11-16 82432/week @ 2024-11-23 72218/week @ 2024-11-30 137756/week @ 2024-12-07

451,050 downloads per month
Used in 6 crates (4 directly)

MIT license

155KB
3K SLoC

Turmoil

This is very experimental

Add hardship to your tests.

Turmoil is a framework for testing distributed systems. It provides deterministic execution by running multiple concurrent hosts within a single thread. It introduces "hardship" into the system via changes in the simulated network. The network can be controlled manually or with a seeded rng.

Crates.io Documentation Build Status Discord chat

Quickstart

Add this to your Cargo.toml.

[dev-dependencies]
turmoil = "0.6"

See crate documentation for simulation setup instructions.

Examples

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.

Dependencies

~10–17MB
~223K SLoC