Add proptest-based generative tests for irtt-stats's stateful rolling windows and IPDV pairing. The rolling_count and rolling_time bounds turn out to be two independent VecDeques (rolling.rs), not a single window bounded by both, so the main property test proves that independence: it drives a StatsCollector configured with both bounds simultaneously through generated operation streams, checking after every operation that each window matches a from-scratch reference model applying only its own bound (and that the cumulative snapshot matches a full-history replay). Since both the production window and the reference replay the same events through the same deterministic aggregation code, the comparison is exact equality, not a tolerance. Also add two smaller property tests for IpdvTracker's bounded FIFO state and at-most-once adjacent-pair emission under arbitrary (including non-monotonic and duplicate) sequence streams, complementing the existing strictly-increasing hand test. No discrepancies between production and the reference model were found.
19 lines
449 B
TOML
19 lines
449 B
TOML
[package]
|
|
name = "irtt-stats"
|
|
version = "0.5.0"
|
|
description = "Statistics aggregation for irtt-client events"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme.workspace = true
|
|
keywords = ["irtt", "networking", "latency", "statistics"]
|
|
categories = ["network-programming"]
|
|
|
|
[dependencies]
|
|
irtt-client.workspace = true
|
|
|
|
[dev-dependencies]
|
|
proptest = "1.11.0"
|