refactor(test): extract RTT processing verification to helper function

This commit is contained in:
Nils Andreas Svee committed 2026-05-03 21:30:23 +07:00
1 parent c506d5a7f7
commit dff201de89
1 file changed
+13 -6
+13 -6
View File
@@ -1,5 +1,7 @@
mod support;
use std::time::Duration;
use irtt_client::{
Client, ClientConfig, ClientError, ClientEvent, OneWayDelaySample, ReceivedStatsSample,
RttSample, ServerTiming,
@@ -78,8 +80,7 @@ fn timestamp_modes_drive_reply_event_timing_fields() {
StampAt::Both => {
assert_timing_fields(reply.server_timing, true, true, false, false, true, true);
assert_one_way_presence(reply.one_way, true, true);
assert!(reply.rtt.adjusted.is_some());
assert!(reply.rtt.effective <= reply.rtt.raw);
assert_processing_subtracted(reply);
}
StampAt::Midpoint => {
assert_timing_fields(reply.server_timing, false, false, true, true, false, false);
@@ -113,8 +114,7 @@ fn clock_modes_drive_reply_event_clock_fields() {
assert_one_way_presence(reply.one_way, true, true);
}
}
assert!(reply.rtt.adjusted.is_some());
assert!(reply.rtt.effective <= reply.rtt.raw);
assert_processing_subtracted(reply);
}
}
@@ -128,8 +128,7 @@ fn rich_mode_exposes_stats_server_timing_and_adjusted_rtt() {
assert_received_stats(reply.received_stats, Some(RECV_COUNT), Some(RECV_WINDOW));
assert_timing_fields(reply.server_timing, true, true, false, false, true, true);
assert_one_way_presence(reply.one_way, true, true);
assert!(reply.rtt.adjusted.is_some());
assert!(reply.rtt.effective <= reply.rtt.raw);
assert_processing_subtracted(reply);
}
#[test]
@@ -348,6 +347,14 @@ fn assert_timing_fields(
);
}
fn assert_processing_subtracted(reply: ReplyView<'_>) {
let processing = reply.server_timing.unwrap().processing.unwrap();
assert_eq!(processing, Duration::from_nanos(1));
let adjusted = reply.rtt.adjusted.unwrap();
assert_eq!(reply.rtt.effective, adjusted);
assert!(adjusted < reply.rtt.raw);
}
fn assert_one_way_presence(
sample: Option<&OneWayDelaySample>,
client_to_server: bool,