Adds a proptest-based model test that drives generated sequences of probe sends, valid/duplicate/late/unknown/wrong-token replies, bounded and unbounded timeout polling, peer/local close, and u32 wire-sequence wraparound through a real SessionMachine and an independent reference model, asserting the observable state and every emitted event match after each operation. This combinatorial interleaving of an open session's operations was previously untested; existing tests are all narrow single-scenario cases.
35 lines
1001 B
TOML
35 lines
1001 B
TOML
[package]
|
|
name = "irtt-client"
|
|
version = "0.5.0"
|
|
description = "IRTT-compatible Rust client library"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme.workspace = true
|
|
keywords = ["irtt", "networking", "latency", "rtt"]
|
|
categories = ["network-programming"]
|
|
|
|
[dependencies]
|
|
irtt-proto.workspace = true
|
|
socket2 = { version = "0.6.5", features = ["all"] }
|
|
thiserror = "2.0.20"
|
|
tokio = { version = "1.53.1", default-features = false, features = ["rt", "net", "time", "sync"], optional = true}
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
nix = { version = "0.31.3", default-features = false, features = ["net", "uio"], optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
ancillary = ["dep:nix"]
|
|
tokio = ["dep:tokio"]
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
|
|
[dev-dependencies]
|
|
irtt-server.workspace = true
|
|
proptest = "1.11.0"
|
|
tokio = { version = "1.53.1", default-features = false, features = ["rt", "sync"] }
|