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; mod support;
use std::time::Duration;
use irtt_client::{ use irtt_client::{
Client, ClientConfig, ClientError, ClientEvent, OneWayDelaySample, ReceivedStatsSample, Client, ClientConfig, ClientError, ClientEvent, OneWayDelaySample, ReceivedStatsSample,
RttSample, ServerTiming, RttSample, ServerTiming,
@@ -78,8 +80,7 @@ fn timestamp_modes_drive_reply_event_timing_fields() {
StampAt::Both => { StampAt::Both => {
assert_timing_fields(reply.server_timing, true, true, false, false, true, true); assert_timing_fields(reply.server_timing, true, true, false, false, true, true);
assert_one_way_presence(reply.one_way, true, true); assert_one_way_presence(reply.one_way, true, true);
assert!(reply.rtt.adjusted.is_some()); assert_processing_subtracted(reply);
assert!(reply.rtt.effective <= reply.rtt.raw);
} }
StampAt::Midpoint => { StampAt::Midpoint => {
assert_timing_fields(reply.server_timing, false, false, true, true, false, false); 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_one_way_presence(reply.one_way, true, true);
} }
} }
assert!(reply.rtt.adjusted.is_some()); assert_processing_subtracted(reply);
assert!(reply.rtt.effective <= reply.rtt.raw);
} }
} }
@@ -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_received_stats(reply.received_stats, Some(RECV_COUNT), Some(RECV_WINDOW));
assert_timing_fields(reply.server_timing, true, true, false, false, true, true); assert_timing_fields(reply.server_timing, true, true, false, false, true, true);
assert_one_way_presence(reply.one_way, true, true); assert_one_way_presence(reply.one_way, true, true);
assert!(reply.rtt.adjusted.is_some()); assert_processing_subtracted(reply);
assert!(reply.rtt.effective <= reply.rtt.raw);
} }
#[test] #[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( fn assert_one_way_presence(
sample: Option<&OneWayDelaySample>, sample: Option<&OneWayDelaySample>,
client_to_server: bool, client_to_server: bool,