anchor.diff:      Owner = self(),
       Node = erlang:Spawn(
                fun() ->
  -                     try StartFun()
  -                     catch Level:Reason -> erlang:Level(Reason)
  -                     after Owner ! {started, self()}
  +                     try _ = StartFun(),
  +                         Owner ! {started, self()}
  +                     catch Level:Reason ->
  +                               Owner ! {killed},
  +                               erlang:Level(Reason)
                        end,
                        RunFun()
                end),
  -    receive {started, Node} -> Node end.
  +    receive
  +        {started, Node} -> Node;
  +        {killed} -> ?ct_fail("start_process(~.0p, ~.0p, ~.0p, ~.0p) failed",
  +                             [StartFun, RunFun, TrapExit, Spawn])
  +    end.
   
   %% @doc Starts a sub-process which executes the given function and then waits forever.
   -spec start_subprocess(StartFun::fun(() -> any())) -> pid().
  
positive.code:     DataAll = get_ring_data(),
      ct:pal("Scalaris ring data:~n~.0p~n", [DataAll]).
  
  -include("unittest.hrl").
  
  -spec macro_equals(Actual::any(), ExpectedVal::any(), ActualStr::string(), ExpectedStr::string()) -> true | no_return().
  macro_equals(Actual, ExpectedVal, ActualStr, ExpectedStr) ->
      case Actual of
  
negative.code: -endif.
  
  -include("scalaris.hrl").
  -include("unittest.hrl").
  
  -type kv_opts() :: [{Key::atom(), Value::term()}].
  
  