anchor.diff:  
   % Tests
   rb_basic() ->
  -    ?line clean_rd(),
  +    clean_rd(),
       % Behold, the magic parameters to activate rb logging...
  -    ?line Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  -		      quote(rd())++" error_logger_mf_maxbytes 5000 "
  -		      "error_logger_mf_maxfiles 5"),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line warning = warning_map(Node),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line application:start(sasl),
  -    ?line rb:start([{report_dir, rd()}]),
  -    ?line rb:list(),
  -    ?line true = (one_rb_lines([error]) =:= 0),
  -    ?line true = (one_rb_lines([error_report]) =:= 0),
  -    ?line 0 = one_rb_findstr([error],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([error_report],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([warning_report],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_report],pid_to_list(Self)),
  -    ?line 2 = one_rb_findstr([],pid_to_list(Self)),
  -    ?line true = (one_rb_findstr([progress],"===") > 4),
  -    ?line rb:stop(),
  -    ?line application:stop(sasl),
  -    ?line stop_node(Node),
  +    Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  +                      quote(rd())++" error_logger_mf_maxbytes 5000 "
  +                      "error_logger_mf_maxfiles 5"),
  +    Self = self(),
  +    GL = group_leader(),
  +    warning = warning_map(Node),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_report,Report),
  +    nice_stop_node(Node),
  +    application:start(sasl),
  +    rb:start([{report_dir, rd()}]),
  +    rb:list(),
  +    true = (one_rb_lines([error]) =:= 0),
  +    true = (one_rb_lines([error_report]) =:= 0),
  +    0 = one_rb_findstr([error],pid_to_list(Self)),
  +    0 = one_rb_findstr([error_report],pid_to_list(Self)),
  +    1 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  +    1 = one_rb_findstr([warning_report],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_report],pid_to_list(Self)),
  +    2 = one_rb_findstr([],pid_to_list(Self)),
  +    true = (one_rb_findstr([progress],"===") > 4),
  +    rb:stop(),
  +    application:stop(sasl),
  +    stop_node(Node),
       ok.
   
   rb_warnings_info() ->
  -    ?line clean_rd(),
  -    ?line Node = start_node(nn(),"+W i -boot start_sasl -sasl error_logger_mf_dir "++
  -		      quote(rd())++" error_logger_mf_maxbytes 5000 "
  -		      "error_logger_mf_maxfiles 5"),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line info = warning_map(Node),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line application:start(sasl),
  -    ?line rb:start([{report_dir, rd()}]),
  -    ?line rb:list(),
  -    ?line true = (one_rb_lines([error]) =:= 0),
  -    ?line true = (one_rb_lines([error_report]) =:= 0),
  -    ?line 0 = one_rb_findstr([error],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([error_report],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([info_msg],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([info_report],pid_to_list(Self)),
  -    ?line 2 = one_rb_findstr([],pid_to_list(Self)),
  -    ?line true = (one_rb_findstr([progress],"===") > 4),
  -    ?line rb:stop(),
  -    ?line application:stop(sasl),
  -    ?line stop_node(Node),
  +    clean_rd(),
  +    Node = start_node(nn(),"+W i -boot start_sasl -sasl error_logger_mf_dir "++
  +                      quote(rd())++" error_logger_mf_maxbytes 5000 "
  +                      "error_logger_mf_maxfiles 5"),
  +    Self = self(),
  +    GL = group_leader(),
  +    info = warning_map(Node),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_report,Report),
  +    nice_stop_node(Node),
  +    application:start(sasl),
  +    rb:start([{report_dir, rd()}]),
  +    rb:list(),
  +    true = (one_rb_lines([error]) =:= 0),
  +    true = (one_rb_lines([error_report]) =:= 0),
  +    0 = one_rb_findstr([error],pid_to_list(Self)),
  +    0 = one_rb_findstr([error_report],pid_to_list(Self)),
  +    0 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  +    1 = one_rb_findstr([info_msg],pid_to_list(Self)),
  +    1 = one_rb_findstr([info_report],pid_to_list(Self)),
  +    2 = one_rb_findstr([],pid_to_list(Self)),
  +    true = (one_rb_findstr([progress],"===") > 4),
  +    rb:stop(),
  +    application:stop(sasl),
  +    stop_node(Node),
       ok.
   
   rb_warnings_errors() ->
  -    ?line clean_rd(),
  -    ?line Node = start_node(nn(),"+W e -boot start_sasl -sasl error_logger_mf_dir "++
  -		      quote(rd())++" error_logger_mf_maxbytes 5000 "
  -		      "error_logger_mf_maxfiles 5"),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line error = warning_map(Node),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line application:start(sasl),
  -    ?line rb:start([{report_dir, rd()}]),
  -    ?line rb:list(),
  -    ?line true = (one_rb_lines([error]) > 1),
  -    ?line true = (one_rb_lines([error_report]) > 1),
  -    ?line 1 = one_rb_findstr([error],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([error_report],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_report],pid_to_list(Self)),
  -    ?line 2 = one_rb_findstr([],pid_to_list(Self)),
  -    ?line true = (one_rb_findstr([progress],"===") > 4),
  -    ?line rb:stop(),
  -    ?line application:stop(sasl),
  -    ?line stop_node(Node),
  +    clean_rd(),
  +    Node = start_node(nn(),"+W e -boot start_sasl -sasl error_logger_mf_dir "++
  +                      quote(rd())++" error_logger_mf_maxbytes 5000 "
  +                      "error_logger_mf_maxfiles 5"),
  +    Self = self(),
  +    GL = group_leader(),
  +    error = warning_map(Node),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_report,Report),
  +    nice_stop_node(Node),
  +    application:start(sasl),
  +    rb:start([{report_dir, rd()}]),
  +    rb:list(),
  +    true = (one_rb_lines([error]) > 1),
  +    true = (one_rb_lines([error_report]) > 1),
  +    1 = one_rb_findstr([error],pid_to_list(Self)),
  +    1 = one_rb_findstr([error_report],pid_to_list(Self)),
  +    0 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_report],pid_to_list(Self)),
  +    2 = one_rb_findstr([],pid_to_list(Self)),
  +    true = (one_rb_findstr([progress],"===") > 4),
  +    rb:stop(),
  +    application:stop(sasl),
  +    stop_node(Node),
       ok.
   
   rb_trunc() ->
  -    ?line clean_rd(),
  -    ?line Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  -		      quote(rd())++" error_logger_mf_maxbytes 5000 "
  -		      "error_logger_mf_maxfiles 5"),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line application:start(sasl),
  -    ?line {ok,File} = file:read_file(rf()),
  -    ?line S=byte_size(File)-2,
  -    ?line <<TFile:S/binary,_/binary>>=File,
  -    ?line file:write_file(rf(),TFile),
  -    ?line rb:start([{report_dir, rd()}]),
  -    ?line rb:list(),
  -    ?line true = (one_rb_lines([error]) =:= 0),
  -    ?line true = (one_rb_lines([error_report]) =:= 0),
  -    ?line 0 = one_rb_findstr([error],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([error_report],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  -    ?line 0 = one_rb_findstr([info_report],pid_to_list(Self)),
  -    ?line 1 = one_rb_findstr([],pid_to_list(Self)),
  -    ?line true = (one_rb_findstr([progress],"===") > 4),
  -    ?line rb:stop(),
  -   ?line  application:stop(sasl),
  -    ?line stop_node(Node),
  +    clean_rd(),
  +    Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  +                      quote(rd())++" error_logger_mf_maxbytes 5000 "
  +                      "error_logger_mf_maxfiles 5"),
  +    Self = self(),
  +    GL = group_leader(),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_report,Report),
  +    nice_stop_node(Node),
  +    application:start(sasl),
  +    {ok,File} = file:read_file(rf()),
  +    S=byte_size(File)-2,
  +    <<TFile:S/binary,_/binary>>=File,
  +    file:write_file(rf(),TFile),
  +    rb:start([{report_dir, rd()}]),
  +    rb:list(),
  +    true = (one_rb_lines([error]) =:= 0),
  +    true = (one_rb_lines([error_report]) =:= 0),
  +    0 = one_rb_findstr([error],pid_to_list(Self)),
  +    0 = one_rb_findstr([error_report],pid_to_list(Self)),
  +    1 = one_rb_findstr([warning_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([warning_report],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_msg],pid_to_list(Self)),
  +    0 = one_rb_findstr([info_report],pid_to_list(Self)),
  +    1 = one_rb_findstr([],pid_to_list(Self)),
  +    true = (one_rb_findstr([progress],"===") > 4),
  +    rb:stop(),
  +    application:stop(sasl),
  +    stop_node(Node),
       ok.
   
   rb_utc() ->
  -    ?line clean_rd(),
  -    ?line Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  -		      quote(rd())++" error_logger_mf_maxbytes 5000 "
  -		      "error_logger_mf_maxfiles 5 -sasl utc_log true"),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line application:stop(sasl),
  -    ?line UtcLog=case application:get_env(sasl,utc_log) of
  -		     {ok,true} ->
  -			 true;
  -		     _AllOthers ->
  -			 application:set_env(sasl,utc_log,true),
  -			 false
  -	   end,
  -    ?line application:start(sasl),
  -    ?line rb:start([{report_dir, rd()}]),
  -    ?line rb:list(),
  -    ?line Pr=one_rb_findstr([progress],"==="),
  -    ?line Wm=one_rb_findstr([warning_msg],"==="),
  -    ?line Wr=one_rb_findstr([warning_report],"==="),
  -    ?line Sum=Pr+Wm+Wr,
  -    ?line Sum=one_rb_findstr([],"UTC"),
  -    ?line rb:stop(),
  -    ?line application:stop(sasl),
  -    ?line application:set_env(sasl,utc_log,UtcLog),
  -    ?line stop_node(Node),
  +    clean_rd(),
  +    Node = start_node(nn(),"-boot start_sasl -sasl error_logger_mf_dir "++
  +                      quote(rd())++" error_logger_mf_maxbytes 5000 "
  +                      "error_logger_mf_maxfiles 5 -sasl utc_log true"),
  +    Self = self(),
  +    GL = group_leader(),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_report,Report),
  +    nice_stop_node(Node),
  +    application:stop(sasl),
  +    UtcLog=case application:get_env(sasl,utc_log) of
  +               {ok,true} ->
  +                   true;
  +               _AllOthers ->
  +                   application:set_env(sasl,utc_log,true),
  +                   false
  +           end,
  +    application:start(sasl),
  +    rb:start([{report_dir, rd()}]),
  +    rb:list(),
  +    Pr=one_rb_findstr([progress],"==="),
  +    Wm=one_rb_findstr([warning_msg],"==="),
  +    Wr=one_rb_findstr([warning_report],"==="),
  +    Sum=Pr+Wm+Wr,
  +    Sum=one_rb_findstr([],"UTC"),
  +    rb:stop(),
  +    application:stop(sasl),
  +    application:set_env(sasl,utc_log,UtcLog),
  +    stop_node(Node),
       ok.
       
   file_utc() ->
  -    ?line file:delete(lf()),
  -    ?line SS="-stdlib utc_log true -kernel error_logger "++ oquote("{file,"++iquote(lf())++"}"),
  +    file:delete(lf()),
  +    SS="-stdlib utc_log true -kernel error_logger "++ oquote("{file,"++iquote(lf())++"}"),
       %erlang:display(SS),
  -    ?line Node = start_node(nn(),SS),
  +    Node = start_node(nn(),SS),
       %erlang:display(rpc:call(Node,application,get_env,[kernel,error_logger])),
  -    ?line Self = self(),
  -    ?line GL = group_leader(),
  -    ?line fake_gl(Node,error_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,warning_msg,"~p~n",[Self]),
  -    ?line fake_gl(Node,info_msg,"~p~n",[Self]),
  -    ?line Report = [{self,Self},{gl,GL},make_ref()],
  -    ?line fake_gl(Node,error_report,Report),
  -    ?line fake_gl(Node,warning_report,Report),
  -    ?line fake_gl(Node,info_report,Report),
  -    ?line nice_stop_node(Node),
  -    ?line receive after 5000 -> ok end, % Let the node die, needed
  -    ?line 6 = findstr("UTC",lf()),
  -    ?line 2 = findstr("WARNING",lf()),
  -    ?line 2 = findstr("ERROR",lf()),
  -    ?line 2 = findstr("INFO",lf()),
  -    ?line stop_node(Node),
  -    ok.
  +    Self = self(),
  +    GL = group_leader(),
  +    fake_gl(Node,error_msg,"~p~n",[Self]),
  +    fake_gl(Node,warning_msg,"~p~n",[Self]),
  +    fake_gl(Node,info_msg,"~p~n",[Self]),
  +    Report = [{self,Self},{gl,GL},make_ref()],
  +    fake_gl(Node,error_report,Report),
  +    fake_gl(Node,warning_report,Report),
  +    fake_gl(Node,info_report,Report),
  +    nice_stop_node(Node),
  +    receive after 5000 -> ok end, % Let the node die, needed
  +    6 = findstr("UTC",lf()),
  +    2 = findstr("WARNING",lf()),
  +    2 = findstr("ERROR",lf()),
  +    2 = findstr("INFO",lf()),
  +    stop_node(Node),
  +    ok.
  
positive.code: 
  
  init_per_testcase(_Case, Config) ->
      ?line Dog = ?t:timetrap(?default_timeout),
      [{watchdog, Dog} | Config].
  end_per_testcase(_Case, Config) ->
      Dog = ?config(watchdog, Config),
  
negative.code: 
      
  basic() ->
      Node = start_node(nn(),[]),
      ok = install_relay(Node),
      Self = self(),
      GL = group_leader(),
      warning = warning_map(Node),
      format(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{error,GL,{_,"~p~n",[Self]}}}),
      error_msg(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{error,GL,{_,"~p~n",[Self]}}}),
      warning_msg(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{warning_msg,GL,{_,"~p~n",[Self]}}}),
      info_msg(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{info_msg,GL,{_,"~p~n",[Self]}}}),
      Report = [{self,Self},{gl,GL},make_ref()],
      error_report(Node,Report),
      ?EXPECT({handle_event,{error_report,GL,{_,std_error,Report}}}),
      warning_report(Node,Report),
      ?EXPECT({handle_event,{warning_report,GL,{_,std_warning,Report}}}),
      info_report(Node,Report),
      ?EXPECT({handle_event,{info_report,GL,{_,std_info,Report}}}),
      stop_node(Node),
      ok.
      
  warnings_info() ->
      Node = start_node(nn(),"+Wi"),
      ok = install_relay(Node),
      Self = self(),
      GL = group_leader(),
      info = warning_map(Node),
      Report = [{self,Self},{gl,GL},make_ref()],
      warning_msg(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{info_msg,GL,{_,"~p~n",[Self]}}}),
      warning_report(Node,Report),
      ?EXPECT({handle_event,{info_report,GL,{_,std_info,Report}}}),
      stop_node(Node),
      ok.
  
  warnings_errors() ->    
      Node = start_node(nn(),"+We"),
      ok = install_relay(Node),
      Self = self(),
      GL = group_leader(),
      error = warning_map(Node),
      Report = [{self,Self},{gl,GL},make_ref()],
      warning_msg(Node,"~p~n",[Self]),
      ?EXPECT({handle_event,{error,GL,{_,"~p~n",[Self]}}}),
      warning_report(Node,Report),
      ?EXPECT({handle_event,{error_report,GL,{_,std_error,Report}}}),
      stop_node(Node),
      ok.
  
  % RB...
  
  quote(String) ->
      case os:type() of
          {win32,_} ->
              "\\\""++String++"\\\"";
          _ ->
              "'\""++String++"\"'"
      end.
  
  iquote(String) ->
      case os:type() of
          {win32,_} ->
              "\\\""++String++"\\\"";
          _ ->
              "\""++String++"\""
      end.
  
  oquote(String) ->
      case os:type() of
          {win32,_} ->
              "\""++String++"\"";
          _ ->
              "'"++String++"'"
      end.
      
  
  