anchor.diff:              undefined
       end.
   
  +post_init_per_suite(Suite,Config, Result, Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Config, Result]}),Proxy};
   post_init_per_suite(_Suite,Config, Result, State) ->
       {Result, end_tc(init_per_suite,Config,Result,State)}.
   
  +pre_end_per_suite(Suite,Config,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Config]}),Proxy};
   pre_end_per_suite(_Suite,Config,State) ->
       {Config, init_tc(State, Config)}.
   
  +post_end_per_suite(Suite,Config,Result,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Config, Result]}),Proxy};
   post_end_per_suite(_Suite,Config,Result,State) ->
       {Result, end_tc(end_per_suite,Config,Result,State)}.
   
  +pre_init_per_group(Suite,Group,Config,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Group, Config]}),Proxy};
   pre_init_per_group(_Suite,Group,Config,State) ->
       {Config, init_tc(State#state{ curr_group = [Group|State#state.curr_group]},
   		     Config)}.
   
  +post_init_per_group(Suite,Group,Config,Result,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Group, Config, Result]}),Proxy};
   post_init_per_group(_Suite,_Group,Config,Result,State) ->
       {Result, end_tc(init_per_group,Config,Result,State)}.
   
  +pre_end_per_group(Suite,Group,Config,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, Group, Config]}),Proxy};
   pre_end_per_group(_Suite,_Group,Config,State) ->
       {Config, init_tc(State, Config)}.
   
  +post_end_per_group(Suite,Group,Config,Result,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite,Group,Config,Result]}),Proxy};
   post_end_per_group(_Suite,_Group,Config,Result,State) ->
       NewState = end_tc(end_per_group, Config, Result, State),
       {Result, NewState#state{ curr_group = tl(NewState#state.curr_group)}}.
   
  +pre_init_per_testcase(Suite,TC,Config,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite,TC,Config]}),Proxy};
   pre_init_per_testcase(_Suite,_TC,Config,State) ->
       {Config, init_tc(State, Config)}.
   
  +post_end_per_testcase(Suite,TC,Config,Result,Proxy) when is_pid(Proxy) ->
  +    {gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, TC, Config, Result]}),Proxy};
   post_end_per_testcase(_Suite,TC,Config,Result,State) ->
       {Result, end_tc(TC,Config, Result,State)}.
   
  +on_tc_fail(Suite,TC,Result,Proxy) when is_pid(Proxy) ->
  +    _ = gen_server:call(Proxy,{?FUNCTION_NAME, [Suite, TC, Result]}),
  +    Proxy;
   on_tc_fail(_Suite,_TC, _Res, State = #state{test_cases = []}) ->
       State;
   on_tc_fail(Suite, _TC, Res, State) ->
  
positive.code: get_line_from_result(_, _) ->
      undefined.
  
  on_tc_skip(Suite,{ConfigFunc,_GrName}, Res, State) ->
      on_tc_skip(Suite,ConfigFunc, Res, State);
  on_tc_skip(Suite,Tc, Res, State0) ->
  
negative.code: 	    P ->
  		P
  	end,
      Ast =
          case beam_lib:chunks(code:which(Suite),[debug_info]) of
              {ok,{Suite,[{debug_info,
                           {debug_info_v1,
                            erl_abstract_code,
                            {Abstr,_Opts}}}]}} ->
                  Abstr;
              _ ->
                  undefined
          end,
      {Config, init_tc(State#state{ filepath = Path,
  				  curr_suite = Suite,
                                    curr_suite_file = get_file(Suite),
                                    curr_suite_ast = Ast,
  				  curr_suite_ts = ?now,
  				  curr_log_dir = CurrLogDir},
  		     Config) };
  