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

dangernoodle-io / breadboard / 26263521823
100%

Build:
DEFAULT BRANCH: main
Ran 22 May 2026 01:43AM UTC
Jobs 1
Files 21
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

22 May 2026 01:42AM UTC coverage: 100.0%. Remained the same
26263521823

push

github

web-flow
feat(bb_http): add bb_http_resp_json_obj_* streaming emitters (B1-234) (#303)

* feat(bb_http): add bb_http_resp_json_obj_* streaming emitters (B1-234)

- add bb_http_json_obj_stream_t with 1 KB internal buffer and per-depth
  comma tracking (max 8 nesting levels)
- add bb_http_resp_json_obj_begin / _end
- add _set_str (JSON-escaped), _set_num, _set_int, _set_bool, _set_null
- add _set_obj_begin / _set_obj_end and _set_arr_begin / _set_arr_end
  for nested containers; null key skips key/colon for array elements
- implementation lives in components/bb_http/src/bb_http_json_obj.c
  (portable, uses only bb_http_resp_send_chunk); wired into esp-idf
  CMakeLists and native_scaffold
- 22 host unit tests covering init, field types, escaping, nesting,
  comma handling, sticky errors, and null-guard paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(bb_http): cover remaining bb_http_resp_json_obj_* paths

- add set_num tests (function had zero coverage)
- add \r and control-char escape path tests
- add depth overflow tests for set_obj_begin and set_arr_begin
- add depth underflow tests for set_obj_end and set_arr_end
- add obj_maybe_comma depth-guard test (via direct _depth manipulation)
- add buffer flush-on-overflow and large-string direct-send tests
- add error injection hooks to host backend: force_set_type_fail,
  force_send_chunk_fail, force_send_chunk_term_fail
- add begin set_type failure test, begin send_chunk failure test, and
  end terminal-chunk failure test

line coverage: 81% → 97% (192/197); remaining 5 lines are dead-code
branches unreachable via the public api (single token > buffer size and
null guard in static helper)

* refactor(bb_http): remove dead branches and cover remaining paths in json_obj streamer

deleted dead defensive guards:
- obj_emit_str_escaped: removed !str null check (callers pre-check)
- obj_append: removed len == 0 guard (no caller passes zero length)
- obj_append: removed direct-send path for len > ... (continued)

1346 of 1346 branches covered (100.0%)

Branch coverage included in aggregate %.

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

2250 of 2250 relevant lines covered (100.0%)

905.81 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26263521823.1 22 May 2026 01:43AM UTC 21
100.0
GitHub Action Run
Source Files on build 26263521823
  • Tree
  • List 21
  • 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 #26263521823
  • 0b39e946 on github
  • Prev Build on main (#26251706077)
  • Next Build on main (#26265499482)
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