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

Alan-Jowett / sonde / 23456272488
82%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 08:00PM UTC
Jobs 1
Files 73
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 07:32PM UTC coverage: 84.212% (-0.2%) from 84.394%
23456272488

push

github

web-flow
test(gateway): close 8 handler/data-path/modem transport gaps (#408)

* test(gateway): close 8 handler/data-path/modem transport gaps

Add integration tests for all 8 validation gaps from issue #352:

Handler lifecycle (GW-05xx):
1. GW-0503 AC3: persistent handler stays alive across messages using
   an in-process counter that proves no respawn occurs.
2. GW-0501 AC3/AC4: sequence-number correctness verified across 3
   APP_DATA round-trips — each reply nonce echoes its request seq.
3. GW-0504 AC3: many-to-one routing with two program hashes mapped
   to the same handler; both nodes receive correct replies.
4. GW-0507: \
ode_timeout\ EVENT delivered to handler with \last_seen\
   and \xpected_interval_s\ fields verified via event-recording
   handler that writes events to a temp file.

Modem transport adapter (GW-11xx / GW-12xx):
5. GW-1101: SET_CHANNEL_ACK timeout — modem ACKs RESET but drops
   SET_CHANNEL; transport returns error instead of operating on wrong
   RF channel.
6. GW-1103 AC2: error recovery full restart — after ERROR, drop and
   reconstruct transport re-executes RESET -> MODEM_READY ->
   SET_CHANNEL -> ACK sequence.
7. GW-1205: \send_ble_indicate\ delivers BLE_INDICATE message to
   modem with exact payload.
8. GW-1208 AC5/AC6: explicit \CloseBlePairing\ sends BLE_DISABLE to
   modem and closes registration window.

Closes #352

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

* fix: replace sleep with polling, assert specific timeout error

- phase2d: replace fixed sleep(500ms) with polling loop (50ms interval,
  5s deadline) for event file — eliminates flaky test on slow CI runners
- modem_transport: assert TransportError contains 'timeout' instead of
  matching any Err(_), so unexpected failures are not masked

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

* fix: use to_string_lossy and tokio::fs in phase2d tests

- Replace path.to_str().unwrap() with to_string_lossy() to avoid
  pani... (continued)

18471 of 21934 relevant lines covered (84.21%)

47.53 hits per line

Coverage Regressions

Lines Coverage ∆ File
46
84.59
-6.22% crates/sonde-gateway/src/handler.rs
Jobs
ID Job ID Ran Files Coverage
1 23456272488.1 23 Mar 2026 08:00PM UTC 73
84.21
GitHub Action Run
Source Files on build 23456272488
  • Tree
  • List 73
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23456272488
  • abf5f1c8 on github
  • Prev Build on main (#23456258630)
  • Next Build on main (#23456552050)
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