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

Alan-Jowett / sonde / 23416160536
82%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 12:37AM UTC
Jobs 1
Files 72
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 12:23AM UTC coverage: 83.535% (+0.1%) from 83.417%
23416160536

push

github

web-flow
test(gateway): close validation gaps for handler lifecycle, factory reset, and edge cases (#402)

* test(gateway): close validation gaps for handler lifecycle, factory reset, and edge cases

Add missing tests and one enforcement fix for issue #343:

- T-0202b: oversized ephemeral rejected at dispatch (GW-0202 AC3).
  Also adds the missing 2 KB size-budget check in \ngine.rs\ so a
  program ingested as Resident (4 KB limit) cannot bypass the ephemeral
  budget when queued via \RunEphemeral\.
- T-0503b: handler persists across messages without respawn — stateful
  counter handler proves the same process serves consecutive \APP_DATA\
  messages (GW-0503 AC1).
- T-0503c: hung handler times out and produces no reply (GW-0503 AC2/AC3).
- T-0507b: \
ode_timeout\ EVENT delivered to a running handler process
  (GW-0507 AC3).
- T-0702b: battery history retention capped at 100 readings, oldest
  evicted first (GW-0702 AC2).
- T-0705: \RemoveNode\ + subsequent WAKE silently discarded, validating
  the gateway-side factory-reset invariant (GW-0705 AC3).

GW-0705 node-side erasure and GW-0806 admin CLI tests are deferred —
both require protocol/tooling work beyond test coverage.

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

* fix: address review comments

- Use \pub(crate)\ for \MAX_EPHEMERAL_SIZE\ (narrower visibility)
- Use \	o_string_lossy()\ in \write_handler_script\ (phase2d.rs)
- Add \#[traced_test]\ + \logs_contain\ assertion to T-0507b
- Use \start_paused = true\ + \	okio::time::advance\ in T-0503c to
  avoid 30s real-time wait (requires \	est-util\ tokio feature)

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

* fix(gateway): address 4 PR review comments

- Use `to_string_lossy()` instead of `to_str().unwrap()` in
  `write_handler_script()` to avoid panics on non-UTF-8 temp paths
  (phase2c.rs + phase2d.rs).
- Add `#[traced_test]` and assert `logs_contain(eceived node_timeout
  event)` in `t0507b` so the te... (continued)

79 of 84 new or added lines in 4 files covered. (94.05%)

2 existing lines in 2 files now uncovered.

17366 of 20789 relevant lines covered (83.53%)

49.56 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
81.83
0.4% crates/sonde-gateway/src/state_bundle.rs
1
92.81
-0.03% crates/sonde-gateway/src/engine.rs
1
90.81
2.32% crates/sonde-gateway/src/handler.rs

Coverage Regressions

Lines Coverage ∆ File
1
92.81
-0.03% crates/sonde-gateway/src/engine.rs
1
81.83
0.4% crates/sonde-gateway/src/state_bundle.rs
Jobs
ID Job ID Ran Files Coverage
1 23416160536.1 23 Mar 2026 12:37AM UTC 72
83.53
GitHub Action Run
Source Files on build 23416160536
  • Tree
  • List 72
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23416160536
  • bacf0342 on github
  • Prev Build on main (#23415276633)
  • Next Build on main (#23420899395)
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