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

dangernoodle-io / breadboard / 30224380527
97%

Build:
DEFAULT BRANCH: main
Ran 26 Jul 2026 11:04PM UTC
Jobs 1
Files 199
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

26 Jul 2026 11:02PM UTC coverage: 96.526%. Remained the same
30224380527

push

github

web-flow
fix: omit requestBody instead of emitting an empty one on doc-only compose failure (#1103)

Three route descriptors set `request_schema` to a link-time-constant
pointer to their compose buffer, so it was always non-NULL even before
the first compose. bb_openapi_emit.c's `if (route->request_schema)`
gate is pointer-only, so a compose failure (degrade-and-continue,
#1098) left the buffer empty behind a non-NULL pointer and emitted a
schema-less `"application/json": {}` requestBody instead of omitting
it entirely -- same failure mode B1-1242/#1100 fixed for
bb_sensor_http_wire.c's PATCH /api/sensors/fan.

Sites fixed (NULL-then-patch-on-success shape, mirroring #1100):
- bb_storage_http_routes.c: s_storage_delete_route (DELETE
  /api/diag/storage)
- bb_storage_http_routes.c: s_factory_reset_route (POST
  /api/diag/factory-reset)
- bb_system_routes.c: s_reboot_route (POST /api/reboot)

Each descriptor now starts `.request_schema = NULL`, is made mutable
(`static bb_route_t`, gated behind CONFIG_BB_OPENAPI_RUNTIME_META; the
#else arm stays `static const` in .rodata), and its
ensure_*_request_schema_patched() only assigns the buffer pointer on
the BB_OK path.

Also fixed the masking test accessors
(bb_storage_http_delete_get_request_schema_for_test(),
bb_storage_http_factory_reset_get_request_schema_for_test(),
bb_system_reboot_get_request_schema_for_test()): they translated
buf[0]=='\0' into NULL, so tests asserted NULL while production's
pointer was never actually NULL. They now return the real descriptor
field directly.

Added one emit-level regression test per route
(test_bb_storage_http_delete_route_omits_request_body_on_compose_failure,
test_bb_storage_http_factory_reset_route_omits_request_body_on_compose_failure,
test_bb_system_reboot_route_omits_request_body_on_compose_failure):
force a compose failure, register the real production route via the
real init fn, drive bb_openapi_emit_stream(), and assert requestBody
is absent from the parsed document.... (continued)

7800 of 8403 branches covered (92.82%)

Branch coverage included in aggregate %.

13259 of 13414 relevant lines covered (98.84%)

2625.95 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30224380527.1 26 Jul 2026 11:04PM UTC 199
96.53
GitHub Action Run
Source Files on build 30224380527
  • Tree
  • List 199
  • 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 #30224380527
  • 45a48822 on github
  • Prev Build on main (#30212110974)
  • Next Build on main (#30225991510)
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