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

bedrock-kv / bedrock / 9ad433260161b402cd44e5f6488274512328f327
73%

Build:
DEFAULT BRANCH: develop
Ran 14 Jul 2026 08:27PM 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 08:26PM UTC coverage: 71.285% (+0.4%) from 70.847%
9ad433260161b402cd44e5f6488274512328f327

push

github

web-flow
Add tests for Transaction encoding error paths and compare_and_clear (bedrock-aec) (#85)

## Summary
- Extends `transaction_test.exs` with 27 tests (44 → 71) for the
wire-format codec (coverage 97.5% → 98.5%; remaining 4 lines are
unreachable)
- Byte-level corruption tests with exact error atoms: truncated section
payloads, overcounted section headers, conflict counts exceeding actual
range data, undefined opcodes, truncated extended-length parameters —
plus `reassemble_sections` round-trips, `compare_and_clear`
encode/decode, read_version/read_conflicts validation raises, and the
raising `!` wrappers

## Bug found (audit-verified, ticket filed)
`read_write_conflicts/1` violates its `{:error, reason}` @spec: its
callback returns bare error tuples but `iterate_sections_data/5`
(transaction.ex:392) only matches `{:ok, _}`/`{:found, _}`, so
CRC-valid-but-corrupt conflict payloads raise `CaseClauseError`. Blast
radius: the resolver (`transaction_conflicts.ex:70`) has an explicit
graceful-degrade branch for `{:error, _}` that is unreachable dead code
— a buggy peer's payload crashes the resolver process instead. One-line
fix + regression test tracked in the follow-up ticket; the implementer
wrote the failing tests, confirmed the crash, and removed them rather
than codify broken behavior.

## Test plan
- 71/71 green at multiple seeds; full suite (2379 tests, 158 properties)
green
- Independent audit traced 6 of the hand-crafted corrupt binaries
byte-by-byte against the wire format — all simulate exactly what their
test names claim

Ticket: bedrock-aec

5588 of 7839 relevant lines covered (71.28%)

1957.04 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
99.27
10.99% lib/bedrock/data_plane/transaction.ex
Jobs
ID Job ID Ran Files Coverage
1 9ad433260161b402cd44e5f6488274512328f327.1 14 Jul 2026 08:27PM UTC 215
71.28
GitHub Action Run
2 9ad433260161b402cd44e5f6488274512328f327.2 14 Jul 2026 08:27PM UTC 215
71.23
GitHub Action Run
Source Files on build 9ad433260161b402cd44e5f6488274512328f327
  • Tree
  • List 215
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9ad43326 on github
  • Prev Build on develop (#D2001662...)
  • Next Build on develop (#057755A8...)
  • 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