anchor.diff:                             Receiver ! ?msg1
                      end),
       receive
  -        {'DOWN', Ref, process, Receiver, normal} ->
  -            {Sender, Receiver}
  -    end.
  -
  -message(_Config, TestF) ->
  -    {{Sender, Receiver}, Output0} =
  -        dyntrace_util:trace(message_script(), TestF),
  -    Output1 = [termify_line(L) || L <- Output0],
  -    {SenderStr, ReceiverStr} = {?p2l(Sender), ?p2l(Receiver)},
  -    {Msg1Size, Msg2Size} = {?msize(?msg1), ?msize(?msg2)},
  -    Output = [L || L <- Output1, element(2, L) =:= SenderStr
  -                       orelse element(2, L) =:= ReceiverStr],
  -    ct:log("~p\n", [Output]),
  -    [{sent, SenderStr, ReceiverStr, Msg2Size},
  -     {queued, ReceiverStr, Msg2Size, "1"},
  -     {sent, SenderStr, ReceiverStr, Msg1Size},
  -     {queued, ReceiverStr, Msg1Size, "2"},
  -     {received, ReceiverStr, Msg1Size, "1"}] = Output,
  -    ok.
  +        {'DOWN', Ref, process, Receiver, normal} -> {Sender, Receiver}
  +    end.
  +
  +message_self_scenario(_Config) ->
  +    {Receiver, Ref} = spawn_monitor(fun() ->
  +                                            self() ! ?msg2,
  +                                            self() ! ?msg1,
  +                                            receive ?msg1 -> ok end
  +                                    end),
  +    receive
  +        {'DOWN', Ref, process, Receiver, normal} -> {Receiver, Receiver}
  +    end.
  +
  +message_dist_scenario(Config) ->
  +    {Receiver, Ref} = spawn_monitor(fun() ->
  +                                            receive ?msg1 -> ok end
  +                                    end),
  +    Sender = spawn(?config(slave, Config), slave, relay, [Receiver]),
  +    Sender ! ?msg2,
  +    Sender ! ?msg1,
  +    receive
  +        {'DOWN', Ref, process, Receiver, normal} -> {Sender, Receiver}
  +    end.
   
   message_script() ->
       [{probe, 'BEGIN',
  
positive.code:       [{printf, ["received %s %d %d\n", {arg_str,1}, {arg,2}, {arg,3}]}]}
      ].
  
  termify_line(L) ->
      [H|T] = re:split(L, " ", [{return,list}]),
      list_to_tuple([list_to_atom(H)|T]).
  
negative.code: 	none ->
  	    {skip, "No dynamic trace in this run-time system"};
  	_ ->
  	    [{group, local},
               {group, dist}]
      end.
  
  groups() ->
      [{local, [],
        [process_spawn_exit_test,
         process_scheduling_test,
         message_test,
         message_self_test]},
       {dist, [],
        [message_dist_test]}].
  
  init_per_suite(Config) ->
      Config.
  