anchor.diff:          _ ->
               true
       end.
  +
  +errors_in_logs(Nodes, Config) ->
  +    [{N, Errs} || N <- Nodes, 
  +                  Errs <- check_errors_logs(N, Config)].
  +
  +check_errors_logs(Node, Config) ->
  +    LogDir = log_dir(Node, Config),
  +    [{F, Errs} || F <- expected_logs(),
  +                  Errs <- grep_error(filename:join(LogDir, F))].
  +
  +grep_error(FileName) ->
  +    {ok, Bin} = file:read_file(FileName),
  +    Entries = string:lexemes(Bin, [$\r,$\n]),
  +    [ Entry || Entry <- Entries,
  +               string:find(Entry, "[error]") =/= nomatch ]. 
   
   expected_logs() ->
       ["epoch.log", "epoch_mining.log", "epoch_sync.log",
  
positive.code:          unsubscribe/2,
           events_since/3,
           all_events_since/2,
           check_for_logs/2]).
  
  -export([proxy/0,
           start_proxy/0,
  
negative.code:     call_proxy(N, {events, EvType, TS}).
  
  check_for_logs(Nodes, Config) ->
      [] = [{N, F} || N <- Nodes,
                      F <- expected_logs(),
                      is_missing_log(N, F, Config)],
      ok.
  
  is_missing_log(N, F, Config) ->
      LogDir = log_dir(N, Config),
      file_missing(filename:join(LogDir, F)).
  
  file_missing(F) ->
      case file:read_link_info(F) of
  