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

riak-core-lite / riak_core_lite / 106
43%
master: 43%

Build:
Build:
LAST BUILD BRANCH: dev
DEFAULT BRANCH: master
Ran 12 Jun 2026 09:51AM UTC
Jobs 1
Files 42
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

12 Jun 2026 09:47AM UTC coverage: 43.436% (+0.7%) from 42.773%
106

push

github

web-flow
Finished #100 (#120)

* Accept legacy 'undefined' sender tag alongside 'ignore_ref'

Commit 9c3632a (Vnode simplification) renamed the sender tag from
'undefined' to 'ignore_ref' as a naming cleanup, without a backward-
compatible alias. This silently broke downstream users (e.g. antidote)
that still pass {fsm, undefined, From} / {server, undefined, _}: their
replies were wrapped as {undefined, Reply} instead of delivered bare,
causing case_clause failures in caller gen_statems.

Accept both spellings.

* Replace gen_fsm_compat with gen_statem in riak_core_vnode

Rewrite riak_core_vnode from gen_fsm_compat to gen_statem using
state_functions callback mode. Delete the gen_fsm_compat shim.
Add $gen_cast/$gen_call patterns to vnode_proxy handle_overload.

* Add test infrastructure for gen_statem conversion audit

bug_mock_vnode: extended mock vnode with handle_info/2, delete/1
gen_statem_conversion_test: test harness with start_test_vnode helper

* Fix bug 1: use bare atom 'info' as gen_statem event type

Change active({info, _F}, ...) to active(info, ...) on all three
catch-all info handlers (deleted state, EXIT, general handle_info).

* Add failing test for bug 2: $gen_event instead of $gen_cast

send_event_unreliable wraps in '$gen_event' which gen_statem routes
as info, not cast. Verifies the command is actually executed (reply
received), not just that the vnode survives.

* Fix bug 2: use $gen_cast instead of $gen_event in send_event_unreliable

gen_statem recognizes '$gen_cast' and routes it as a cast event.
'$gen_event' is gen_fsm's internal format and arrives as info.

* Add failing test for bug 3: unregistered/1 call vs cast mismatch

unregistered/1 uses gen_statem:call but the handler expects cast.
The {call, From} falls through to the catch-all, silently replying
ok without stopping the vnode.

* Fix bug 3: use gen_statem:cast for unregistered/1

The original gen_fsm code used send_event (async). Restore async
semantics with gen_statem:cast so... (continued)

25 of 95 new or added lines in 3 files covered. (26.32%)

7 existing lines in 1 file now uncovered.

2273 of 5233 relevant lines covered (43.44%)

38964.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
67
28.92
3.32% src/riak_core_vnode.erl
3
72.73
-1.35% src/riak_core_vnode_proxy.erl

Coverage Regressions

Lines Coverage ∆ File
7
28.92
3.32% src/riak_core_vnode.erl
Jobs
ID Job ID Ran Files Coverage
1 106.1 12 Jun 2026 09:51AM UTC 42
43.44
GitHub Action Run
Source Files on build 106
  • Tree
  • List 42
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9869669e on github
  • Prev Build on (#103)
  • Next Build on (#1)
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