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

dangernoodle-io / breadboard / 30174570502
97%

Build:
DEFAULT BRANCH: main
Ran 25 Jul 2026 08:57PM UTC
Jobs 1
Files 197
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

25 Jul 2026 08:55PM UTC coverage: 96.491% (-0.006%) from 96.497%
30174570502

push

github

web-flow
fix: union topic-source seam into components/schemas (B1-1220 follow-up) (#1081)

- PR #1080 wired the injected topic-source seam into sse_schema_count()
  and build_sse_oneof_fragment() only (the SSE oneOf array); components/
  schemas itself never consulted it, so a producer migrating from
  bb_openapi_register_topic_schema() to bb_data_http_describe() would gain
  a $ref in oneOf with no matching schema body -- a dangling $ref, an
  invalid OpenAPI document
- add bb_openapi_schemas_union_count()/emit_external_schemas() to union
  the legacy registry with the describe table (legacy-first, matching the
  oneOf ordering), reusing the existing bb_openapi_topic_source_invoke()
  seam -- no new bb_data_http dependency
- single shared dedup rule (schema_already_emitted()/schema_dedup_mark()
  in bb_openapi_emit_shared.c), used by all four union consumers
  (sse_schema_count, build_sse_oneof_fragment, bb_openapi_schemas_union_
  count, emit_external_schemas): dedup by component_name, legacy-first-
  wins, across the WHOLE union -- legacy vs external AND external vs
  external, since bb_data_http_describe() dedups by key (not
  component_name), so two distinct topics can legitimately collide on one
  component_name; without external-vs-external dedup too, that collision
  emitted a duplicate components/schemas key and a duplicate oneOf $ref
  (violating its "exactly one match" semantics)
- add bb_openapi_validate_no_dangling_refs(), a generic cJSON oracle that
  walks a parsed document for any $ref with no matching components/schemas
  entry -- stronger and more reusable than a per-test string check; depth-
  bounded (mirrors BB_JSON_OBJ_MAX_DEPTH's "explicit cap" idiom, reusing
  this file's own PATH_DEPTH_MAX) so it fails closed rather than recursing
  unbounded now that it's a general-purpose reusable check
- strengthen the PR #1080 union-seam tests to assert the schema body (not
  just the $ref string) appears in components/schemas, and add dedup +
  ex... (continued)

7750 of 8355 branches covered (92.76%)

Branch coverage included in aggregate %.

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

13230 of 13388 relevant lines covered (98.82%)

2576.83 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30174570502.1 25 Jul 2026 08:57PM UTC 197
96.49
GitHub Action Run
Source Files on build 30174570502
  • Tree
  • List 197
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30174570502
  • 55f36746 on github
  • Prev Build on main (#30171256306)
  • Next Build on main (#30176490171)
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