Commit Graph
95 Commits
Author SHA1 Message Date
Nils Andreas Svee 0262a2af0c test(client): unify fake and real backend testing via BackendPeer
Introduce a BackendPeer abstraction to transparently switch between fake and real IRTT backends. This simplifies test logic by removing manual skip checks and providing a consistent interface for server lifecycle management.
2026-05-04 17:16:23 +07:00
Nils Andreas Svee a715842e38 test(client): add integration tests for compatibility with real IRTT backends
Introduce a mechanism to run tests against a live irtt binary to verify real-world protocol interoperability, including HMAC authentication and various timestamp modes.
2026-05-04 00:05:35 +07:00
Nils Andreas Svee 56b560418c test(client): add comprehensive integration tests for HMAC authentication
Verify HMAC negotiation, session closure, and error handling for authenticated probes to ensure protocol security and reliability.
2026-05-03 23:06:26 +07:00
Nils Andreas Svee 86f16b8656 test(client): split client tests into behavior-focused modules 2026-05-03 22:54:08 +07:00
Nils Andreas Svee 746ea3805b refactor(client): move internal client tests to a dedicated sub-module 2026-05-03 22:25:35 +07:00
Nils Andreas Svee bf5b3b2f55 refactor(cli): rename m8 compatibility terms to advanced protocol options 2026-05-03 22:25:35 +07:00
Nils Andreas Svee 8ee308a2b4 test(cli): consolidate invalid argument parsing tests 2026-05-03 22:25:25 +07:00
Nils Andreas Svee 49dbb0b536 test: verify RTT equality when no timestamping is present 2026-05-03 21:30:23 +07:00
Nils Andreas Svee dff201de89 refactor(test): extract RTT processing verification to helper function 2026-05-03 21:30:23 +07:00
Nils Andreas Svee c506d5a7f7 test: update mock timestamp simulation in test support 2026-05-03 21:30:23 +07:00
Nils Andreas Svee 7440e7d217 test(client): add integration tests for m8 compatibility 2026-05-03 21:26:55 +07:00
Nils Andreas Svee 18c6e2c1a9 test(cli): expand test coverage for new CLI parameters 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 5af3f891fc feat(cli): add advanced negotiation and protocol options 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 64df93dbb6 feat(cli): add support for midpoint timestamps and received stats 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 8c9afce30f feat(client): implement protocol configuration validation 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 474aefb723 feat(client): define constants and validation for DSCP and server fill 2026-05-03 16:12:10 +07:00
Nils Andreas Svee c2138fe356 test(client): validate parameter mapping from configuration 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 70df9d63f1 test(proto): verify HMAC field placement in protocol packets 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 3c4a77b9f6 test(proto): add unit tests for parameter encoding and decoding 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 7b3deb1f3c refactor(client): modularize duration restriction validation 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 59194b620a feat(cli): implement continuous statistics and summary suppression 2026-05-02 00:01:31 +07:00
Nils Andreas Svee d79c8716a0 refactor(cli): enhance main loop and reply draining logic 2026-05-02 00:01:31 +07:00
Nils Andreas Svee 36c36f3872 feat(cli): add support for continuous mode with zero duration 2026-05-02 00:01:31 +07:00
Nils Andreas Svee 851d143f86 refactor(client): improve session initialization and state access 2026-05-02 00:01:31 +07:00
Nils Andreas Svee e63b176265 style(cli): rename machine output keys for clarity 2026-05-02 00:01:31 +07:00
Nils Andreas Svee a26e1a6d59 feat(cli): integrate StatsCollector into main execution loop 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 815dab077d feat(cli): implement summary formatting for statistics 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 17d9ed9e3a build(cli): add irtt-stats dependency and feature flag 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 07b3d2d822 feat(cli): add Human output mode and summary logic 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 64e7117a12 feat(client): drain late replies before closing session 2026-05-01 18:24:54 +07:00
Nils Andreas Svee 4604dd8786 feat(stats): bound sequence tracking in continuous mode 2026-05-01 18:24:54 +07:00
Nils Andreas Svee a73a4ff341 fix(client): prune insertion order in TimedOutMap on removal 2026-05-01 18:24:54 +07:00
Nils Andreas Svee 96bd041680 build(stats): add irtt-client dependency to irtt-stats 2026-05-01 18:08:21 +07:00
Nils Andreas Svee 198a929ed6 feat(stats): implement core statistics collection and aggregation 2026-05-01 18:07:54 +07:00
Nils Andreas Svee cf519bd630 feat(client): emit EchoSent event with scheduling metadata 2026-05-01 10:05:52 +07:00
Nils Andreas Svee bcbc0ec164 feat(client): track and handle late replies after timeout 2026-05-01 10:05:52 +07:00
Nils Andreas Svee e2be6cadac feat(client): implement SignedDuration for precise RTT tracking 2026-05-01 10:05:52 +07:00
Nils Andreas Svee 18f15f16d5 feat(client): record and report packet size in client events 2026-05-01 10:05:43 +07:00
Nils Andreas Svee c23db87d7c docs: add IRTT statistics behavioral specification
Define a clean-room specification for IRTT client result semantics to ensure upstream compatibility for irtt-rs.
2026-04-30 00:30:14 +07:00
Nils Andreas Svee 63f01f65bf refactor(managed): ensure event hub disconnection on all exit paths
Wrap the client execution in a cleanup handler to guarantee that event hub subscriptions are disconnected regardless of whether the session completes successfully or returns an error.
2026-04-29 10:36:16 +07:00
Nils Andreas Svee ddb2fff7c8 test(managed): improve test reliability and coverage 2026-04-29 01:14:36 +07:00
Nils Andreas Svee bb7ba20906 feat(managed): implement automatic cancellation on session drop 2026-04-29 01:14:36 +07:00
Nils Andreas Svee a925dc61f0 feat(managed): automatically unregister dropped event subscriptions 2026-04-29 01:14:36 +07:00
Nils Andreas Svee e04caaca8d refactor(managed): rename malformed events to warning_events 2026-04-29 01:14:36 +07:00
Nils Andreas Svee 4cd6da01b6 feat(managed): export managed client modules 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 1f6ce97c3a feat(managed): implement managed client runner 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 2f3d3ed87d feat(managed): implement event hub for pub/sub communication 2026-04-28 23:34:34 +07:00
Nils Andreas Svee b83674880c feat(managed): implement thread-safe cancellation token 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 90e7239157 feat(error): introduce worker panic and subscription disconnection errors 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 2f3d92ad2b feat(client): add run status and packet count helpers 2026-04-28 23:34:34 +07:00