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

Alan-Jowett / sonde / 23460872035
81%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 09:26PM UTC
Jobs 1
Files 74
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

23 Mar 2026 09:24PM UTC coverage: 85.723% (+0.1%) from 85.587%
23460872035

push

github

web-flow
test(modem): add BLE indication flow control, Write Long, and TX backpressure tests (#416)

* test(modem): add BLE indication flow control, Write Long, and TX backpressure tests

Add 13 tests covering three untested gaps identified in #338:

GAP 1 — MD-0403 AC3: Indication fragmentation flow control
- `FragmentingMockBle` mock that simulates ATT indication pacing
  with `awaiting_confirm` flag and per-chunk confirmation gating
- `t0605_indication_flow_control_awaits_confirm`: 3-chunk payload,
  verify one chunk per confirmation cycle
- `t0605_indication_chunks_within_mtu_limit`: all chunks <= MTU-3
- `t0605_indication_single_chunk_no_fragmentation`: small payload
- `t0605_indication_exact_mtu_boundary`: payload exactly MTU-3
- `t0605_advance_indication_blocked_while_awaiting_confirm`: 10
  polls without confirm, no advance
- `t0605_fragmenting_ble_empty_indicate_discarded`: empty data

GAP 2 — MD-0409 AC2: Write Long reassembly
- `t0613_write_long_reassembled_as_single_ble_recv`: 500-byte
  payload forwarded as single BLE_RECV
- `t0613_ble_recv_payload_forwarded_unmodified`: all 256 byte
  values bit-exact
- `t0613b_empty_gatt_write_no_ble_recv`: no event = no output
- `t0613_multiple_write_longs_separate_ble_recv`: two large writes
  arrive as two distinct BLE_RECV messages

GAP 3 — Design §4.3: USB TX backpressure
- `tx_backpressure_drops_frames_no_crash`: 32 radio frames with
  rejected writes, no crash, rx_count stays 0
- `tx_backpressure_recovery`: bridge resumes normal forwarding
  after write failures clear
- `tx_backpressure_ble_events_no_crash`: BLE events under
  backpressure, bridge recovers

Closes #338

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address review feedback in BLE flow control tests

- Add #[allow(dead_code)] on unused FragmentingMockBle fields to avoid clippy warnings

- Add assertions in t0613b_empty_gatt_write_no_ble_recv to validate actual behavior after empty BleEvent::Recv injection

Co-... (continued)

347 of 367 new or added lines in 1 file covered. (94.55%)

20727 of 24179 relevant lines covered (85.72%)

169.31 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
95.54
-0.26% crates/sonde-modem/src/bridge.rs
Jobs
ID Job ID Ran Files Coverage
1 23460872035.1 23 Mar 2026 09:26PM UTC 74
85.72
GitHub Action Run
Source Files on build 23460872035
  • Tree
  • List 74
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23460872035
  • cdb92fd7 on github
  • Prev Build on main (#23460374229)
  • Next Build on main (#23461945560)
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