anchor.diff:  		nomatch ->
   		    start_check(Pid, Mon, StartCheckMP)
   	    end;
  +	{'DOWN', Mon, _, _Pid, {skip, Reason} = SKIP} ->
  +	    ct:pal("Received DOWN from ~p"
  +                   "~n   Skip Reason: ~p", [_Pid, Reason]),
  +            SKIP;
   	{'DOWN', Mon, _, _, Reason} ->
   	    ct:fail("Prog ~p start failed: ~p", [Pid, Reason])
       end.
  
positive.code: 	{Port, {data, {Flag, Data}}} ->
  	    case Flag of
  		eol ->
  		    Line = iolist_to_binary(lists:reverse(Buf, Data)),
  		    ct:pal("Prog ~p output: ~s", [Port, Line]),
  		    Parent ! {self(), line, Line},
  		    run_program_loop(Parent, Port, []);
  		noeol ->
  		    run_program_loop(Parent, Port, [Data | Buf])
  	    end;
  	{Port, {exit_status,ExitStatus}} ->
  	    ct:pal("Prog ~p exit: ~p", [Port, ExitStatus]),
  	    catch port_close(Port),
  	    Parent ! {self(), exit, ExitStatus};
  
negative.code:     DataDir = ?config(data_dir, Config),
      StartWrapper = filename:join(DataDir, "start_stop_wrapper"),
      Parent = self(),
      %% process_flag(trap_exit, true),
      {Pid, Mon} =
  	spawn_monitor(
  	  fun () ->
  		  run_program(Parent, StartWrapper, [Path | Args])
  	  end),
      start_check(Pid, Mon, StartCheckMP).
  
  start_check(Pid, Mon, none) ->
      {Pid, Mon};
  