anchor.diff:  	{'EXIT', Pid, {skipped, Reason}} ->
   	    log("<WARNING> Test case ~w skipped, because ~p~n",
   		[{Mod, Fun}, Reason]),
  -	    Mod:end_per_testcase(Fun, Config),
  -	    {skip, {Mod, Fun}, Reason};
  +            Res = {skipped, {Mod, Fun}, Reason},
  +            CommonTestRes = common_test_res(Res),
  +	    Mod:end_per_testcase(Fun, [{tc_status,CommonTestRes}|Config]),
  +	    Res;
   	{'EXIT', Pid, Reason} ->
   	    log("<ERROR> Eval process ~w exited, because\n\t~p~n",
   		[{Mod, Fun}, Reason]),
  -	    Mod:end_per_testcase(Fun, Config),
  -	    {crash, {Mod, Fun}, Reason}
  +            Res = {crash, {Mod, Fun}, Reason},
  +            CommonTestRes = common_test_res(Res),
  +            Mod:end_per_testcase(Fun, [{tc_status,CommonTestRes}|Config]),
  +	    Res
       end.
   
   flush() ->
  
positive.code: 		    true ->
  			[do_run_test(Module, TC, NewConfig)]
  		end,
  	    Module:end_per_suite(NewConfig),
  	    Res ++ run_test(Rest, NewConfig);
  	Error ->
  	    ?error("Test suite skipped: ~w~n", [Error]),
  	    [{skipped, Error}]
      end;
  run_test([], _Config) ->
      [].
  
  do_run_test(Module, all, Config) ->
      All = [{Module, Test} || Test <- Module:all()],
  
negative.code: 
  test_case_evaluator(Mod, Fun, [Config]) ->
      NewConfig = Mod:init_per_testcase(Fun, Config),
      Res = apply(Mod, Fun, [NewConfig]),
      CommonTestRes = common_test_res(Res),
      Mod:end_per_testcase(Fun, [{tc_status,CommonTestRes}|NewConfig]),
      exit({test_case_ok, Res}).
  
  wait_for_evaluator(Pid, Mod, Fun, Config) ->
      receive
  