anchor.diff:       {unschedule, PidStr}] = FiltOutput,
       ok.
   
  +message_test(Config) ->
  +    do_message_test(Config,
  +                    fun message_scenario/1, fun check_local_message/3).
  +
  +message_self_test(Config) ->
  +    do_message_test(Config,
  +                    fun message_self_scenario/1, fun check_local_message/3).
  +
  +message_dist_test(Config) ->
  +    do_message_test(Config,
  +                    fun message_dist_scenario/1, fun check_dist_message/3).
  +
  +%%%-------------------------------------------------------------------
  +%%% Test helpers
  +%%%-------------------------------------------------------------------
  +
  +process_spawn_exit_scenario() ->
  +    {Pid, Ref} = spawn_monitor(fun() ->
  +                                       receive quit -> ok end
  +                               end),
  +    Pid ! quit,
  +    receive
  +        {'DOWN', Ref, process, Pid, normal} -> Pid
  +    end.
  +
   process_scheduling_scenario() ->
       {Pid, Ref} = spawn_monitor(fun process_scheduling_f/0),
       Pid ! hibernate,
  
positive.code: 
  all() ->
      case erlang:system_info(dynamic_trace) of
  	none ->
  	    {skip, "No dynamic trace in this run-time system"};
  	_ ->
  	    [{group, local},
               {group, dist}]
      end.
  
  
negative.code: %%%-------------------------------------------------------------------
  %%% @author Pawel Chrzaszcz
  %%% @copyright (C) 2013, Erlang Solutions Ltd.
  %%% @doc Tests for dynamic tracing.
  %%%      The test cases check:
  %%%        * VM probes correctness,
  %%%        * Generating simple scripts for dtrace/systemtap.
  %%%
  %%% @end
  %%% Created : 4 Jul 2013 by pawel.chrzaszcz@erlang-solutions.com
  