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

dangernoodle-io / breadboard / 29299811138
95%

Build:
DEFAULT BRANCH: main
Ran 14 Jul 2026 01:57AM UTC
Jobs 1
Files 185
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

14 Jul 2026 01:56AM UTC coverage: 94.968% (-5.0%) from 100.0%
29299811138

push

github

web-flow
fix: synchronize bb_event test teardown with dispatcher drain (#854)

- bb_event_port_reset_for_test() joined the async dispatcher thread
  without waiting for it to drain a pending entry first; if the
  dispatcher hadn't yet been scheduled to pop the queued entry when
  thread_running flipped false, it exited without dispatching,
  silently dropping the entry
- since test_main.c's global setUp() calls this teardown before
  every one of ~5,135 host tests, whether dispatcher_loop's
  pop/dispatch path executed was pure OS-scheduling luck, making
  platform/host/bb_event/bb_event_host.c's coverage flaky and
  intermittently failing the coverage-baseline gate on unrelated PRs
  (#852, #853)
- add a dedicated drained_cond the dispatcher broadcasts on whenever
  its queue hits zero; teardown now waits on it (mutex correctly
  dropped across the wait via pthread_cond_timedwait, bounded by
  BB_EVENT_DRAIN_WAIT_TIMEOUT_MS=500ms so a genuinely stuck
  dispatcher cannot hang CI) before signalling shutdown
- add regression tests that deterministically force the race via a
  test-only dispatcher startup-delay hook and assert on actual
  delivery through a counting subscriber (not just no-crash/no-hang);
  verified by reverting only the drain-wait and confirming the
  drain-before-teardown test fails (Expected 1 Was 0), then
  restoring the fix and confirming it passes again
- add a test-only bb_event_port_test_get_last_drain_wait_ms() hook
  that times just the pthread_cond_timedwait segment (not the
  surrounding pthread_join, whose duration is dominated by the
  dispatcher's startup delay regardless of the drain-wait) and
  strengthen the timeout-fallback regression test to assert on it;
  the prior version of that test passed both with and without the
  fix (masked-by-construction -- its startup delay outlasted the
  join in both cases), confirmed empirically by reverting only the
  drain-wait block and re-running before adding this assertion
- add a comment... (continued)

8093 of 8860 branches covered (91.34%)

Branch coverage included in aggregate %.

44 of 45 new or added lines in 1 file covered. (97.78%)

13836 of 14231 relevant lines covered (97.22%)

2224.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.59
platform/host/bb_event/bb_event_host.c
Jobs
ID Job ID Ran Files Coverage
1 29299811138.1 14 Jul 2026 01:57AM UTC 185
94.97
GitHub Action Run
Source Files on build 29299811138
  • Tree
  • List 185
  • 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 #29299811138
  • b8c3b894 on github
  • Prev Build on main (#29278639385)
  • Next Build on main (#29300184976)
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