refactor(test): extract RTT processing verification to helper function
This commit is contained in:
1 parent
2052417b6b
commit
b5b6ecc69e
1 file changed
+13
-6
@@ -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,
|
||||||
|
|||||||
Reference in new issue
Block a user