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

wboayue / rust-ibapi / 25260398355
92%

Build:
DEFAULT BRANCH: main
Ran 02 May 2026 07:51PM 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:50PM UTC coverage: 88.404% (+0.8%) from 87.588%
25260398355

push

github

web-flow
test+fix: recover MockGateway-deletion coverage; fix async cancel deadlock (#482)

* test+fix: recover MockGateway-deletion coverage; fix async cancel deadlock

After PR 5 deleted client/{sync,async}/tests.rs, several files dropped
in coverage because the deleted MockGateway tests were the only callers
of certain trivial getters and MessageBus-trait impl methods.

Adds:
- src/client/{sync,async}_tests.rs: stubbed-Client tests covering
  is_connected, client_id, server_version, time_zone, connection_time,
  next_request_id, next_order_id, set_next_order_id, decoder_context,
  market_data, order, send_*, create_order_update_subscription,
  check_server_version (10 tests, sync+async).
- transport/sync/tests.rs: 5 tests against the real TcpMessageBus via
  the MessageBus trait — cancel_subscription, cancel_order_subscription,
  cancel_shared_subscription, send_message,
  create_order_update_subscription.
- transport/async_tests.rs: 5 mirroring tests on AsyncMessageBus.

Fixes (transport/async.rs):
- AsyncTcpMessageBus::cancel_subscription and cancel_order_subscription
  acquired a read guard, then awaited a write guard on the same RwLock
  while the read guard was still alive (Rust shadowing doesn't drop
  the prior binding). Self-deadlock on the same task. The new
  cancel_subscription test was the first caller exercising this path
  on the real bus and exposed the hang. Fix is a single write guard.

Coverage delta (cargo llvm-cov --all-features --summary-only):
  TOTAL                 region 82.65% -> 83.11%, line 87.21% -> 87.67%
  client/sync.rs        region 52.74% -> 60.27%, line 61.54% -> 70.19%
  client/async.rs       region 62.59% -> 70.07%, line 73.45% -> 81.42%
  transport/async.rs    region 44.26% -> 51.83%, line 46.14% -> 53.88%
  transport/sync/mod.rs region 59.02% -> 65.46%, line 62.06% -> 68.04%

Remaining gaps are concentrated in production-TCP paths (Client::connect,
AsyncTcpSocket, TcpMessageBus<TcpSocket> monomorphization) that cannot
... (continued)

53 of 63 new or added lines in 2 files covered. (84.13%)

1 existing line in 1 file now uncovered.

17085 of 19326 relevant lines covered (88.4%)

24.43 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
80.65
src/transport/async_test_listener.rs
4
87.5
src/transport/sync/test_listener.rs

Coverage Regressions

Lines Coverage ∆ File
1
74.33
10.46% src/transport/sync/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 25260398355.1 02 May 2026 07:51PM UTC 114
88.4
GitHub Action Run
Source Files on build 25260398355
  • Tree
  • List 114
  • Changed 10
  • Source Changed 4
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25260398355
  • 09e106f9 on github
  • Prev Build on main (#25259370474)
  • Next Build on main (#25260795792)
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