anchor.diff:  					  name = Name,
   					  time = TimeTakes,
                                             file = State#state.curr_suite_file,
  -                                          line = get_line_from_suite(Suite, Name),
  +                                          line = get_line_from_suite(
  +                                                   State#state.curr_suite_ast, Name),
   					  result = passed }|
   			       State#state.test_cases],
   		 tc_log = ""}. % so old tc_log is not set if next is on_tc_skip
  
positive.code: 	    P ->
  		P
  	end,
      {Config, init_tc(State#state{ filepath = Path,
  				  curr_suite = Suite,
                                    curr_suite_file = get_file(Suite),
  				  curr_suite_ts = ?now,
  				  curr_log_dir = CurrLogDir},
  		     Config) };
  
negative.code:             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) ->
  