anchor.diff:  %% Helpers
   %%====================================================================
   
  -prepare() ->
  -    application:load(sasl),
  -    error_logger:delete_report_handler(sasl_report_tty_h),
  -    error_logger:delete_report_handler(error_logger_tty_h),
  -
  -    TestNode = list_to_atom("testnode" ++ integer_to_list(element(3, now())) ++
  -                                "@localhost"),
  -    {ok, _} = net_kernel:start([TestNode, longnames]),
  -    do_dep_apps(start, dep_apps()),
  -    ok.
  -
   test() ->
       test(100).
   
  
positive.code: 
  data_sink(ReqId, KeyList, Done) ->
      receive
          {ReqId, {keys, Keys}} ->
              data_sink(ReqId, KeyList++Keys, false);
          {ReqId, done} ->
  
negative.code:     }.
  
  setup() ->
      %% Cleanup in case a previous test did not
      cleanup(setup),
  
      %% Load application environments
      do_dep_apps(load, dep_apps()),
  
      %% Start erlang node
      {ok, Hostname} = inet:gethostname(),
      TestNode = list_to_atom("keys_fsm_eqc@" ++ Hostname),
      net_kernel:start([TestNode, longnames]),
  
      %% Start dependent applications
      do_dep_apps(start, dep_apps()),
  
      %% Wait for KV to be ready
      riak_core:wait_for_application(riak_kv),
      riak_core:wait_for_service(riak_kv),
      ok.
  
  cleanup(setup) ->
      os:cmd("rm -rf keys_fsm_eqc/ring"),
      cleanup(ok);
  cleanup(_) ->
      do_dep_apps(stop, lists:reverse(dep_apps())),
      catch exit(whereis(riak_kv_vnode_master), kill), %% Leaks occasionally
      catch exit(whereis(riak_sysmon_filter), kill), %% Leaks occasionally
      catch riak_core_stat_cache:stop(),
      net_kernel:stop(),
      %% Reset the riak_core vnode_modules
      application:set_env(riak_core, vnode_modules, []),
      do_dep_apps(unload, lists:reverse(dep_apps())),
      ok.
  
  %% Call unused callback functions to clear them in the coverage
  