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

dangernoodle-io / breadboard / 30508746730
97%

Build:
DEFAULT BRANCH: main
Ran 30 Jul 2026 02:34AM UTC
Jobs 1
Files 205
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

30 Jul 2026 02:32AM UTC coverage: 96.58% (+0.006%) from 96.574%
30508746730

push

github

web-flow
feat: surface hardware reset reason in the boot banner (#1142)

- bb_system_boot_banner_format now takes the reset-reason string and
  appends reset=<reason> to the existing banner line
- bb_system_boot_banner_init resolves it via the existing
  bb_system_get_reset_reason/bb_system_reset_reason_str SSOT (no new
  mapping, no NVS/storage dependency, safe pre-NV-init)
- add host tests covering a mapped reason and an unmapped/out-of-range
  value rendering as "unknown" in the banner line
- document bb_system_log_boot_info() as unwired/superseded by the banner
  (never had a call site) and explain why it is not the place to add the
  NVS-recorded reboot cause: that record already has exactly one reader
  (bb_diag_http's clear-on-read load_reboot_record()), and a second
  independent reader here would race it

A blank-NVS board that resets silently with no panic output previously
had no way to distinguish watchdog/panic/power-on from serial alone
(see B1-1273).

Review round 1 (three findings fixed, one declined):

- HIGH: bb_app_init_early() hooks the async log writer
  (bb_log_stream_init) before the banner runs, and the writer task may
  never get scheduled on a reset shortly after boot -- exactly the
  incident this feature exists to diagnose -- silently dropping the
  banner line. Added bb_log_flush(): a portable API (ESP-IDF/host/
  Arduino) that synchronously drains the async writer's queue before
  returning. The boot banner now calls it right after logging,
  ordering-independent of bb_log_stream_init. No other call sites added
  (useful before reboot/OTA too, left for a future change).
- MEDIUM: the banner's 160-byte line buffer could truncate a realistic
  long git-describe version string, clipping away the reset= field
  appended last. Enlarged to 224 bytes (computed worst case ~181,
  documented inline) and added a host test proving a worst-case-length
  banner still renders reset= intact.
- MEDIUM: an unmapped/future reset cause collapsed to ... (continued)

7934 of 8538 branches covered (92.93%)

Branch coverage included in aggregate %.

23 of 23 new or added lines in 3 files covered. (100.0%)

13502 of 13657 relevant lines covered (98.87%)

2610.6 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30508746730.1 30 Jul 2026 02:34AM UTC 205
96.58
GitHub Action Run
Source Files on build 30508746730
  • Tree
  • List 205
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30508746730
  • c4cc7b3b on github
  • Prev Build on main (#30507223967)
  • Next Build on main (#30511589504)
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