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

bedrock-kv / bedrock / e2b92ccce36082d960536b0fc0bf500d0bf20790
73%

Build:
DEFAULT BRANCH: develop
Ran 14 Jul 2026 07:03PM UTC
Jobs 2
Files 215
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 07:02PM UTC coverage: 68.356% (+1.2%) from 67.182%
e2b92ccce36082d960536b0fc0bf500d0bf20790

push

github

web-flow
Add behavioral tests for Olivine Reading public API + fix sync-path crash (bedrock-ffk) (#79)

## Summary
- Adds `reading_test.exs` with 21 behavioral tests exercising
`Olivine.Reading`'s real public API (coverage 83.8% → 97.4%): sync/async
gets and ranges, KeySelector resolution, limit truncation, waitlisting
on `:version_too_new`, `notify_waiting_fetches` for all four request
shapes, and shutdown draining/waitlist notification
- **Fixes a real crash bug** (one-line guard, reading.ex:293): the
synchronous path (no `reply_fn`) crashed on every successful read —
`{:ok, value}` matched the async `{:ok, pid}` clause and hit
`Process.monitor(value)`. Never seen in production because server.ex
always passes `reply_fn`, and existing tests exercised
`ReadingTestHelpers`, which *duplicates* Reading's private logic instead
of calling it.

## Audit
An independent reviewer pass verified the fix empirically (reverting the
guard fails 6 tests with the exact `ArgumentError`; restoring passes),
confirmed the guard cannot misfire (sync results are never pids), and
found no defects in the tests. It flagged two pre-existing issues filed
as follow-up tickets:
- the same bug class exists one layer down in `execute_fetch_request`
when a request is waitlisted with a nil `reply_fn`
- `{:waitlist_timing, _}` process-dictionary entries are never cleaned
up
- `ReadingTestHelpers` should be migrated to the real API (it masked
this crash)

## Test plan
- 21/21 green at multiple seeds; full olivine dir green (lib changed);
full suite (2320 tests, 158 properties) green

Ticket: bedrock-ffk

5355 of 7834 relevant lines covered (68.36%)

1969.28 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
85.0
-7.5% lib/bedrock/data_plane/materializer/basalt/pulling.ex
1
95.65
-4.35% lib/bedrock/data_plane/materializer/telemetry.ex
Jobs
ID Job ID Ran Files Coverage
1 e2b92ccce36082d960536b0fc0bf500d0bf20790.1 14 Jul 2026 07:03PM UTC 215
68.2
GitHub Action Run
2 e2b92ccce36082d960536b0fc0bf500d0bf20790.2 14 Jul 2026 07:03PM UTC 215
68.28
GitHub Action Run
Source Files on build e2b92ccce36082d960536b0fc0bf500d0bf20790
  • Tree
  • List 215
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e2b92ccc on github
  • Prev Build on develop (#4BF909E9...)
  • Next Build on develop (#F36DBB12...)
  • Delete
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