• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / rust-ibapi / 25246669493
93%

Build:
DEFAULT BRANCH: main
Ran 02 May 2026 07:18AM UTC
Jobs 1
Files 114
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 May 2026 07:17AM UTC coverage: 89.836% (+0.01%) from 89.826%
25246669493

push

github

web-flow
test(transport): async routing tests via MemoryStream (PR 2c/5) (#477)

* test(transport): async routing tests via MemoryStream (PR 2c/5)

Mirror PR 2b's five sync routing tests on the async stack using
AsyncTcpMessageBus<MemoryStream> over AsyncConnection<MemoryStream>
(unblocked by PR 2c-prep). Async-specific differences:

- Tests pinned to #[tokio::test(flavor = "current_thread")] so producer
  and dispatcher run deterministically.
- Drive via bus.read_and_route_message().await (now pub(crate)) instead
  of sync's bus.dispatch() — the closest async analog without spawning
  the full process_messages loop.
- next_message() helper wraps tokio::time::timeout + sub.next() +
  three layers of unwrapping (timeout / Option / Result) with named
  panic contexts so failures point at the right layer.
- Cross-talk asserts via sub.receiver.try_recv() expecting
  TryRecvError::Empty (broadcast channel's non-blocking peek).

Tests added:
- test_request_id_correlation_with_interleaved_responses
- test_order_id_correlation_with_interleaved_responses
- test_shared_channel_fan_out_for_open_orders
- test_shared_channel_routing_current_time
- test_read_and_route_surfaces_eof

The EOF test in async asserts only that read_and_route_message surfaces
Io(UnexpectedEof); the production reconnect/shutdown chain runs in
process_messages's spawned task and is harder to drive deterministically
from a test (deferred to PR 4 with disconnect tests).

One pub(crate) widening: AsyncTcpMessageBus::read_and_route_message
goes from private to pub(crate) so tests can drive it. Mirrors sync's
TcpMessageBus::dispatch which is pub(crate) for the same reason.

* test(transport): drop redundant flavor pin, reorder imports

1 of 1 new or added line in 1 file covered. (100.0%)

17952 of 19983 relevant lines covered (89.84%)

41.17 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25246669493.1 02 May 2026 07:18AM UTC 114
89.84
GitHub Action Run
Source Files on build 25246669493
  • Tree
  • List 114
  • Changed 2
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25246669493
  • d6da6a9a on github
  • Prev Build on main (#25246327040)
  • Next Build on main (#25256291914)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc