tests: rework the actually useful tests to live in the integration crate
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo clippy (push) Successful in 35s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Rust CI / cargo doc (push) Successful in 23s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Supply chain / actionlint (push) Successful in 3s
Netem Interop / netem interop (push) Successful in 1m11s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo clippy (push) Successful in 35s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Rust CI / cargo doc (push) Successful in 23s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Supply chain / actionlint (push) Successful in 3s
Netem Interop / netem interop (push) Successful in 1m11s
This commit is contained in:
101 files changed
+3636
-15159
No files matched your search
@@ -218,43 +218,3 @@ fn duration_ns_i128(duration: Duration) -> i128 {
|
||||
fn signed_duration_ns(duration: SignedDuration) -> i128 {
|
||||
duration.as_nanos()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn system_time_before_epoch_is_supported() {
|
||||
let before = UNIX_EPOCH - Duration::from_nanos(7);
|
||||
assert_eq!(system_time_ns(before), Some(-7));
|
||||
let after = UNIX_EPOCH + Duration::from_nanos(7);
|
||||
assert_eq!(system_time_ns(after), Some(7));
|
||||
let now = SystemTime::now();
|
||||
assert!(system_time_ns(now).is_some());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn loss_windowing_timestamp_is_clamped_to_its_own_sent_at() {
|
||||
let base = Instant::now();
|
||||
let sent_at = ClientTimestamp {
|
||||
mono: base + Duration::from_millis(50),
|
||||
wall: UNIX_EPOCH + Duration::from_millis(50),
|
||||
};
|
||||
// The pre-send-anchored `timeout_at` can precede this same probe's
|
||||
// own post-send `sent_at` when probe_timeout is small relative to
|
||||
// the send-call duration (see irtt-client's AGENTS.md). Rolling-
|
||||
// window eviction assumes non-decreasing event timestamps, so the
|
||||
// windowing `at()` must not regress behind the probe's own Sent
|
||||
// event even though the public `timeout_at` field legitimately can.
|
||||
let timeout_at = base + Duration::from_millis(10);
|
||||
|
||||
let event = ClientEvent::EchoLoss {
|
||||
seq: 0,
|
||||
sent_at,
|
||||
timeout_at,
|
||||
};
|
||||
|
||||
let normalized = normalize_event(&event).expect("loss event normalizes");
|
||||
assert_eq!(normalized.at(), sent_at.mono);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user