test(managed): verify timeout budget fairness

This commit is contained in:
Nils Andreas Svee committed 2026-08-10 01:18:38 +07:00
1 parent a67331a297
commit 4632e310d7
5 files changed
+457 -4

No files matched your search

+15 -1
View File
@@ -414,7 +414,9 @@ impl SessionMachine {
&mut self,
now: Instant,
) -> Result<Vec<ClientEvent>, ClientError> {
Ok(self.poll_timeouts_bounded_at(now, usize::MAX)?.events)
let batch = self.poll_timeouts_bounded_at(now, usize::MAX)?;
debug_assert!(!batch.more_due);
Ok(batch.events)
}
pub(crate) fn poll_timeouts_bounded_at(
@@ -1036,6 +1038,18 @@ impl SessionMachine {
}
}
#[cfg(all(test, feature = "tokio"))]
impl SessionMachine {
pub(crate) fn replace_pending_for_test(&mut self, probe: PendingProbe) {
let session = self
.open_session_mut()
.expect("test pending probes require an open session");
session.pending.remove(probe.wire_seq);
session.pending.preflight_insert(probe.wire_seq).unwrap();
session.pending.commit_insert(probe);
}
}
#[cfg(test)]
mod tests {
use super::*;