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

dangernoodle-io / breadboard / 30228342948
97%

Build:
DEFAULT BRANCH: main
Ran 27 Jul 2026 12:51AM UTC
Jobs 1
Files 200
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

27 Jul 2026 12:49AM UTC coverage: 96.536% (+0.01%) from 96.526%
30228342948

push

github

web-flow
feat: add wifi_prov_policy pure FSM orchestrator (B1-809 PR2) (#1105)

- table-driven bb_fsm policy for the provisioning orchestrator (WP_IDLE/
  WP_ACTIVE), mirroring bb_wifi's wifi_reconn_policy pure-TU pattern
- two-hop entry driver (wifi_prov_fsm_drive_entry) sequences
  ap_start -> prov_start with inline rollback on prov_start failure,
  since bb_fsm guards must stay pure and can't try side effects
- host-only, fully inert -- nothing calls this yet (PR3 wires the
  ESP-IDF shell); adds bb_fsm as a new PRIV_REQUIRES edge for
  bb_wifi_prov
- host tests cover all 7 table rows plus both failure paths, asserting
  adapter call order/counts and log-evt identity
- host tests also pin the table invariant hops 2/3 rely on: rows
  (WP_IDLE, EV_AP_START_OK) and (WP_IDLE, EV_PROV_START_OK) must match
  unconditionally with no guard blocking and no earlier ANY-state row
  shadowing them, since wifi_prov_fsm_drive_entry deliberately doesn't
  re-check bb_fsm_step's return after those hops

Deliberate deviation from the design brief: the AP rollback on a failed
prov_start lives inside act_try_prov_start (the action), not in the
driver as the brief specified. This is contract-compliant -- bb_fsm.h
states actions own all side effects -- and behaviorally equivalent.
It's kept in the action because ap_stop_fn's two call sites (this
rollback and act_close_portal's normal-close path) are mutually
unreachable within a single drive_entry call, so there's no double-stop
path either way; centralizing it in the action avoids the driver
needing to know which adapter calls constitute "rollback" for a state
it doesn't otherwise touch.


Claude-Session: https://claude.ai/code/session_01KM3KoyubaoM6eoUAsw8GYr

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

7818 of 8421 branches covered (92.84%)

Branch coverage included in aggregate %.

49 of 49 new or added lines in 1 file covered. (100.0%)

13308 of 13463 relevant lines covered (98.85%)

2619.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30228342948.1 27 Jul 2026 12:51AM UTC 200
96.54
GitHub Action Run
Source Files on build 30228342948
  • Tree
  • List 200
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30228342948
  • 5e88d0b5 on github
  • Prev Build on main (#30225991510)
  • Next Build on main (#30229385778)
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