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

wboayue / rust-ibapi / 26015956171
92%

Build:
DEFAULT BRANCH: main
Ran 18 May 2026 05:50AM UTC
Jobs 1
Files 128
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

18 May 2026 05:48AM UTC coverage: 92.121% (+0.02%) from 92.105%
26015956171

push

github

web-flow
errors: cursor EOF + unexpected response + decoder mismatch sites (#589)

* errors: cursor EOF + unexpected response + decoder mismatch sites

PR-5 of plans/error-variants-audit.md. Three families:

- 13 cursor peek_*/next_* EOF in messages.rs: Error::Simple → Error::Parse
  (keeps field index that Simple lost; no wrapper change at line 1155)
- 7 wrong-message-type sites with ResponseMessage in scope (contracts
  matching_symbols, display_groups decoder, accounts AccountUpdate
  catch-all): → Error::unexpected_response(message)
- 2 missing-market-depth-data sites (no ResponseMessage): →
  Error::UnexpectedResponse(...)
- 6 contract / option-computation None-channel sites: → UnexpectedEndOfStream
  (reclassified from "unexpected response" — structurally EOS, not wrong shape)
- 6 realtime decoder protocol mismatches (tick_type / HistoricalTick*):
  → Error::parse_field / Error::parse_proto
- 1 async shared-channel dispatch: → Error::InvalidArgument

Downstream test fixtures updated to match-on-variant; substring-based
realtime decoder tests still pass under preserved Display formats.

* errors: /simplify pass — eof_at helper, dead Simple arm, market_depth proto

- Add Error::eof_at(i, label) factory in errors.rs sibling to
  parse_field/parse_proto; collapse 11 cursor bounds-check sites in
  messages.rs to one-liners (4 sites flatten out of multi-line wrapping)
- Drop dead `| Error::Simple(_)` arm from the next_date_time_with_timezone
  wrapper at messages.rs:1165 — parse_ib_date_time_with_timezone only
  returns Error::Parse(0, ...) via parse_field; Simple arm was unreachable
- Reclassify market_depth_data missing-payload sites (lines 307/321) from
  Error::UnexpectedResponse → Error::parse_proto("market_depth_data",
  "missing in MarketDepth") to match sibling tick decoders in the same
  file (decode_trade/bid_ask/mid_point_tick_proto) migrated in this PR
  to parse_proto for the same "missing oneof in envelope" shape

Test fixture for decode_market_d... (continued)

43 of 46 new or added lines in 7 files covered. (93.48%)

1 existing line in 1 file now uncovered.

18987 of 20611 relevant lines covered (92.12%)

27.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.92
0.08% src/market_data/realtime/common/decoders/mod.rs
1
95.88
0.0% src/accounts/common/decoders/mod.rs

Coverage Regressions

Lines Coverage ∆ File
1
94.51
-0.06% src/contracts/async/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 26015956171.1 18 May 2026 05:50AM UTC 128
92.12
GitHub Action Run
Source Files on build 26015956171
  • Tree
  • List 128
  • Changed 8
  • Source Changed 8
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26015956171
  • e6e305d9 on github
  • Prev Build on main (#26014029901)
  • Next Build on main (#26016997047)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc