anchor.diff:  
   -ifdef(PRBR_MNESIA).
   init_per_group(Group, Config) ->
  -  %% stop ring from previous test case (it may have run into a timeout)
  -  unittest_helper:stop_ring(),
  -  application:stop(mnesia),
  -  PWD = os:cmd(pwd),
  -  WorkingDir = string:sub_string(PWD, 1, string:len(PWD) - 1) ++
  -    "/../data/" ++ atom_to_list(erlang:node()) ++ "/",
  -  file:delete(WorkingDir ++ "schema.DAT"),
  +  case Group of
  +    recover_data_group ->
  +      unittest_helper:init_per_group(Group, Config);
  +    remove_node ->
  +      unittest_helper:init_per_group(Group, Config);
  +    _ ->
  +      %% stop ring from previous test case (it may have run into a timeout)
  +      unittest_helper:stop_ring(),
  +      application:stop(mnesia),
  +      PWD = os:cmd(pwd),
  +      WorkingDir = string:sub_string(PWD, 1, string:len(PWD) - 1) ++
  +         "/../data/" ++ atom_to_list(erlang:node()) ++ "/",
  +      file:delete(WorkingDir ++ "schema.DAT"),
   
  -  {priv_dir, PrivDir} = lists:keyfind(priv_dir, 1, Config),
  -  unittest_helper:make_ring(8, [{config, [{log_path, PrivDir},
  -    {leases, true}]}]),
  -  unittest_helper:check_ring_size_fully_joined(8),
  -  unittest_helper:init_per_group(Group, Config).
  +      {priv_dir, PrivDir} = lists:keyfind(priv_dir, 1, Config),
  +      unittest_helper:make_ring(4, [{config, [{log_path, PrivDir},
  +        {leases, true}]}]),
  +      unittest_helper:check_ring_size_fully_joined(4),
  +      unittest_helper:init_per_group(Group, Config)
  +  end.
   -else.
   init_per_group(_Group, _Config) -> {skip, "db_mnesia not set -> skipping test group"}.
   -endif.
   
   end_per_group(Group, Config) ->
  -  PWD = os:cmd(pwd),
  -  WorkingDir = string:sub_string(PWD, 1, string:len(PWD) - 1) ++
  -    "/../data/" ++ atom_to_list(erlang:node()) ++ "/",
  -  Tabs = lists:delete(schema, mnesia:system_info(tables)),
  -  unittest_helper:stop_ring(),
  -  application:stop(mnesia),
  -  [ok = file:delete(WorkingDir ++ atom_to_list(X)++".DCD")||X<-Tabs],
  -  ok = file:delete(WorkingDir ++ "schema.DAT"),
  -  unittest_helper:end_per_group(Group, Config).
  +  case Group of
  +    recover_data_group ->
  +      unittest_helper:end_per_group(Group, Config);
  +    remove_node ->
  +      unittest_helper:end_per_group(Group, Config);
  +    _ ->
  +      PWD = os:cmd(pwd),
  +      WorkingDir = string:sub_string(PWD, 1, string:len(PWD) - 1) ++
  +          "/../data/" ++ atom_to_list(erlang:node()) ++ "/",
  +      Tabs = lists:delete(schema, mnesia:system_info(tables)),
  +      unittest_helper:stop_ring(),
  +      application:stop(mnesia),
  +      [ok = file:delete(WorkingDir ++ atom_to_list(X)++".DCD")||X<-Tabs],
  +      ok = file:delete(WorkingDir ++ "schema.DAT"),
  +      unittest_helper:end_per_group(Group, Config)
  +   end.
   
   init_per_testcase(_TestCase, Config) ->
     Config.
  
positive.code:   erlang:min(N, 200).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % test create_ring_8/1 of mnesia recovery
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -spec tester_ring_8([db_backend_beh:entry()]) -> true.
  tester_ring_8(Config) ->
    {priv_dir, PrivDir} = lists:keyfind(priv_dir, 1, Config),
    unittest_helper:stop_ring(),
    ct:pal("ring stopped -> sleeping. Waiting for leases to expire"),
  
negative.code: -define(CLOSE, close).
  
  all() -> [
      {group, make_ring_group},
      {group, remove_node_group}
    ].
  groups() ->
    [
      {make_ring_group, [sequence], [tester_ring, tester_write, {group, recover_data_group}]},
      {recover_data_group, [sequence, {repeat, ?NUM_EXECUTIONS}], [tester_read]},
      {remove_node_group, [sequence], [tester_write, {group, remove_node}]},
      {remove_node, [sequence, {repeat, ?NUM_EXECUTIONS}], [tester_remove_node]}
    ].
  
  suite() -> [ {timetrap, {seconds, 60}} ].
  