18 releases

0.6.1 Jan 16, 2024
0.6.0 Nov 17, 2023
0.5.8 Nov 6, 2023
0.5.6 Jul 24, 2023
0.3.2 Nov 14, 2022

#192 in Network programming

Download history 5521/week @ 2023-12-07 5491/week @ 2023-12-14 2835/week @ 2023-12-21 2956/week @ 2023-12-28 4651/week @ 2024-01-04 4813/week @ 2024-01-11 4741/week @ 2024-01-18 3644/week @ 2024-01-25 24793/week @ 2024-02-01 34278/week @ 2024-02-08 31490/week @ 2024-02-15 45262/week @ 2024-02-22 45156/week @ 2024-02-29 35531/week @ 2024-03-07 36136/week @ 2024-03-14 29565/week @ 2024-03-21

154,383 downloads per month
Used in 5 crates (3 directly)

MIT license

140KB
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–19MB
~225K SLoC